41 lines
613 B
GLSL
41 lines
613 B
GLSL
// INPUT DATA
|
|
|
|
#ifdef TEXTURABLE
|
|
in vec2 texCoord;
|
|
#endif
|
|
|
|
#ifdef DIFFUSE_TEXTURE
|
|
uniform sampler2D albedoTexture;
|
|
#else
|
|
uniform vec3 albedo;
|
|
#endif
|
|
|
|
#ifdef ALPHA_MASK
|
|
uniform sampler2D alphaMask;
|
|
#else
|
|
uniform float opacity;
|
|
#endif
|
|
|
|
// OUTPUT COLOR
|
|
|
|
layout(location = 0)out vec4 outColor;
|
|
|
|
// MAIN PROGRAM
|
|
|
|
void main(void)
|
|
{
|
|
#ifdef DIFFUSE_TEXTURE
|
|
vec3 color = texture(albedoTexture, texCoord).rgb;
|
|
#else
|
|
vec3 color = albedo;
|
|
#endif
|
|
|
|
#ifdef ALPHA_MASK
|
|
float alpha = texture(alphaMask, texCoord).r;
|
|
#else
|
|
float alpha = opacity;
|
|
#endif
|
|
|
|
outColor = vec4(color, alpha);
|
|
}
|