41 lines
623 B
GLSL
41 lines
623 B
GLSL
// INPUT DATA
|
|
|
|
#ifdef TEXTURABLE
|
|
in vec2 texCoord;
|
|
#endif
|
|
|
|
#ifdef DIFFUSE_TEXTURE
|
|
uniform sampler2D diffuseTexture;
|
|
#else
|
|
uniform vec3 materialKd;
|
|
#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(diffuseTexture, texCoord).rgb;
|
|
#else
|
|
vec3 color = materialKd;
|
|
#endif
|
|
|
|
#ifdef ALPHA_MASK
|
|
float alpha = texture(alphaMask, texCoord).r;
|
|
#else
|
|
float alpha = opacity;
|
|
#endif
|
|
|
|
outColor = vec4(color, alpha);
|
|
}
|