#version 330 core #extension GL_ARB_explicit_uniform_location : enable #extension GL_ARB_shading_language_420pack : enable #ifdef GL_ARB_conservative_depth #extension GL_ARB_conservative_depth : enable #endif layout(location = 2) uniform sampler2D texBase; layout(location = 3) uniform sampler2DArray texAnim; layout(location = 4) uniform uint animFrame; in vec2 fragTC; flat in uint fragUseAnimTex; layout(location = 0) out vec4 color; #ifdef GL_ARB_conservative_depth layout(depth_unchanged) out float gl_FragDepth; #endif void main(void) { vec4 texel = bool(fragUseAnimTex)?texture(texAnim, vec3(fragTC, animFrame)):texture(texBase, fragTC); if (texel.a < 0.5) discard; color = texel; }