1uniform sampler2D u_DiffuseMap; 2 3uniform int u_AlphaTest; 4 5varying vec2 var_DiffuseTex; 6 7varying vec4 var_Color; 8 9 10void main() 11{ 12 vec4 color = texture2D(u_DiffuseMap, var_DiffuseTex); 13 14 float alpha = color.a * var_Color.a; 15 if (u_AlphaTest == 1) 16 { 17 if (alpha == 0.0) 18 discard; 19 } 20 else if (u_AlphaTest == 2) 21 { 22 if (alpha >= 0.5) 23 discard; 24 } 25 else if (u_AlphaTest == 3) 26 { 27 if (alpha < 0.5) 28 discard; 29 } 30 31 gl_FragColor.rgb = color.rgb * var_Color.rgb; 32 gl_FragColor.a = alpha; 33} 34