Fix billboard orientation
[clouds.git] / billboardfrag.glsl
1 #version 400
2 uniform vec4 color;
3 uniform sampler2D tex;
4 in vec2 texCoord;
5 out vec4 FragColor;
6 uniform bool modulate;
7 void main() {
8         // Cf = color from fragment, Ct = color from texture
9         // Cc = color from texture environment -- not set, defaults to (0,0,0,0)
10         // Af = alpha from fragment, At = alpha from texture
11         // C = output color, A = output alpha
12         float f = texture(tex, texCoord).r;
13         if (modulate) { 
14                 // GL_MODULATE: C
15                 // C = Cf * Ct
16                 // A = Af * At                          
17                 FragColor = color * f;
18         } else {
19                 // GL_BLEND:
20                 // C = Cf * (1-Ct) + Cc * Ct
21                 // A = Af * At
22                 vec3 C = color.rgb * (1 - f);
23                 float A = color.a * f;
24                 FragColor = vec4(C, A);
25         }
26 }
27