Eine mögliche Implementierung von Mask Textures in GLSL könnte so aussehen:
Fragment Shader
Die Alpha-Map wird als Uniform Texture importiert. Ein Flag kann helfen, ob die Map überhaupt existiert.
uniform int has_alphamap;
uniform sampler2D alphamap;Der eigentliche Check ist dann ein one-liner:
if (has_alphamap == 1 && texture(alphamap, tc).r < 0.5) discard;Mit discard können wir OpenGL sagen, dass er dieses Fragment nicht zeichnen soll.
Siehe auch
