diff options
Diffstat (limited to 'src/renderergl2/glsl/generic_fp.glsl')
-rw-r--r-- | src/renderergl2/glsl/generic_fp.glsl | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/renderergl2/glsl/generic_fp.glsl b/src/renderergl2/glsl/generic_fp.glsl new file mode 100644 index 0000000..c0a4940 --- /dev/null +++ b/src/renderergl2/glsl/generic_fp.glsl @@ -0,0 +1,33 @@ +uniform sampler2D u_DiffuseMap; + +uniform int u_AlphaTest; + +varying vec2 var_DiffuseTex; + +varying vec4 var_Color; + + +void main() +{ + vec4 color = texture2D(u_DiffuseMap, var_DiffuseTex); + + float alpha = color.a * var_Color.a; + if (u_AlphaTest == 1) + { + if (alpha == 0.0) + discard; + } + else if (u_AlphaTest == 2) + { + if (alpha >= 0.5) + discard; + } + else if (u_AlphaTest == 3) + { + if (alpha < 0.5) + discard; + } + + gl_FragColor.rgb = color.rgb * var_Color.rgb; + gl_FragColor.a = alpha; +} |