SuperTuxKart 1.5 upstream source (from official release tarball)
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
uniform sampler2D tex;
|
||||
uniform sampler2D dtex;
|
||||
uniform float billboard;
|
||||
|
||||
in vec2 tc;
|
||||
in vec4 pc;
|
||||
out vec4 FragColor;
|
||||
|
||||
#stk_include "utils/getPosFromUVDepth.frag"
|
||||
|
||||
void main(void)
|
||||
{
|
||||
vec4 color = texture(tex, tc) * pc;
|
||||
#if defined(Advanced_Lighting_Enabled)
|
||||
vec2 xy = gl_FragCoord.xy / u_screen;
|
||||
float FragZ = gl_FragCoord.z;
|
||||
vec4 FragmentPos = getPosFromUVDepth(vec3(xy, FragZ), u_inverse_projection_matrix);
|
||||
float EnvZ = texture(dtex, xy).x;
|
||||
vec4 EnvPos = getPosFromUVDepth(vec3(xy, EnvZ), u_inverse_projection_matrix);
|
||||
float alpha = clamp((EnvPos.z - FragmentPos.z) * 0.3, 0., 1.);
|
||||
// TODO remove this later if possible when implementing GE
|
||||
alpha = mix(alpha, texture(tex, tc).a, billboard);
|
||||
#else
|
||||
float alpha = 1.0;
|
||||
#endif
|
||||
color = vec4(color.rgb * color.a * alpha, color.a * alpha);
|
||||
FragColor = color;
|
||||
}
|
||||
Reference in New Issue
Block a user