First pass at PBO
[clouds.git] / billboardfrag.glsl
index 16e074e616aae9ea8101b38a11564982e249c894..39fd71d135d1d36fb9fe820fc9eef3a79082e9cc 100644 (file)
@@ -5,10 +5,15 @@ in vec2 texCoord;
 out vec4 FragColor;
 uniform bool modulate;
 uniform bool debug;
+uniform bool debugColor;
 uniform float debugVal;
 void main() {
+  if (debugColor) {
+    FragColor = color;
+    return;
+  }
   if (debug) {
-    FragColor = mix(vec4(1, 1, 1, 1), vec4(1, 0, 0, 1), debugVal);
+    FragColor = mix(vec4(1, 1, 1, 0), vec4(1, 0, 0, 1), debugVal);
     return;
   }
        // Cf = color from fragment, Ct = color from texture
@@ -20,8 +25,11 @@ void main() {
                // GL_MODULATE: C
                // C = Cf * Ct
                // A = Af * At                          
-               FragColor = color * f;
+               FragColor = color * (f + 0.03); // the +0.03 is a hack to get lighter clouds!
        } else {
+        // "That is, the colors in the frame buffer are multiplied by the
+        // attenuation ratio of the billboard texture and then the colors in
+        // the texture are added"
                // GL_BLEND:
                // C = Cf * (1-Ct) + Cc * Ct
                // A = Af * At