1
0
mirror of https://github.com/luanti-org/luanti.git synced 2025-11-08 11:05:28 +01:00
Files
luanti/client/shaders/inventory_shader/opengl_fragment.glsl
2025-11-06 19:31:35 +01:00

38 lines
751 B
GLSL

#ifdef USE_ARRAY_TEXTURE
uniform mediump sampler2DArray baseTexture;
#else
uniform sampler2D baseTexture;
#endif
VARYING_ vec3 vNormal;
VARYING_ vec3 vPosition;
CENTROID_ VARYING_ lowp vec4 varColor;
CENTROID_ VARYING_ mediump vec2 varTexCoord;
CENTROID_ VARYING_ float varTexLayer; // actually int
void main(void)
{
vec2 uv = varTexCoord.st;
#ifdef USE_ARRAY_TEXTURE
vec4 base = texture(baseTexture, vec3(uv, varTexLayer)).rgba;
#else
vec4 base = texture2D(baseTexture, uv).rgba;
#endif
// Handle transparency by discarding pixel as appropriate.
#ifdef USE_DISCARD
if (base.a == 0.0)
discard;
#endif
#ifdef USE_DISCARD_REF
if (base.a < 0.5)
discard;
#endif
vec4 col = vec4(base.rgb * varColor.rgb, base.a);
gl_FragColor = col;
}