|
|
@@ -25,19 +25,23 @@ void main()
|
|
|
{
|
|
|
// Sample the texture for the color
|
|
|
gl_FragColor = texture2D(u_diffuseTexture, v_texCoord0);
|
|
|
- #if defined(TEXTURE_LIGHTMAP)
|
|
|
+ #if defined(TEXTURE_DISCARD_ALPHA)
|
|
|
+ if (gl_FragColor.a < 0.5)
|
|
|
+ discard;
|
|
|
+ #endif
|
|
|
+ #if defined(TEXTURE_LIGHTMAP)
|
|
|
#if defined(TEXCOORD1)
|
|
|
vec4 lightColor = texture2D(u_lightmapTexture, v_texCoord1);
|
|
|
#else
|
|
|
vec4 lightColor = texture2D(u_lightmapTexture, v_texCoord0);
|
|
|
#endif
|
|
|
gl_FragColor.rgb *= lightColor.rgb;
|
|
|
- #endif
|
|
|
- // Global color modulation
|
|
|
- #if defined(MODULATE_COLOR)
|
|
|
- gl_FragColor *= u_modulateColor;
|
|
|
- #endif
|
|
|
- #if defined(MODULATE_ALPHA)
|
|
|
+ #endif
|
|
|
+ // Global color modulation
|
|
|
+ #if defined(MODULATE_COLOR)
|
|
|
+ gl_FragColor *= u_modulateColor;
|
|
|
+ #endif
|
|
|
+ #if defined(MODULATE_ALPHA)
|
|
|
gl_FragColor.a *= u_modulateAlpha;
|
|
|
#endif
|
|
|
}
|