mirror of
https://github.com/luanti-org/luanti.git
synced 2025-11-06 18:25:21 +01:00
44 lines
837 B
GLSL
44 lines
837 B
GLSL
#ifdef USE_ARRAY_TEXTURE
|
|
uniform sampler2DArray baseTexture;
|
|
#else
|
|
uniform sampler2D baseTexture;
|
|
#endif
|
|
|
|
varying vec3 vNormal;
|
|
varying vec3 vPosition;
|
|
#ifdef GL_ES
|
|
varying lowp vec4 varColor;
|
|
varying mediump vec2 varTexCoord;
|
|
varying float varTexLayer;
|
|
#else
|
|
centroid varying vec4 varColor;
|
|
centroid varying vec2 varTexCoord;
|
|
centroid varying float varTexLayer; // actually int
|
|
#endif
|
|
|
|
|
|
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;
|
|
}
|