projects
/
clouds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make PBO speedier
[clouds.git]
/
billboardfrag.glsl
diff --git
a/billboardfrag.glsl
b/billboardfrag.glsl
index 2349e4dfef4610558042a9f6b8315e1ac217800a..b4cfd511464569ea23c577cda41a5b261c7ba288 100644
(file)
--- a/
billboardfrag.glsl
+++ b/
billboardfrag.glsl
@@
-4,9
+4,20
@@
uniform sampler2D tex;
in vec2 texCoord;
out vec4 FragColor;
uniform bool modulate;
in vec2 texCoord;
out vec4 FragColor;
uniform bool modulate;
+uniform bool debug;
+uniform bool debugColor;
+uniform float debugVal;
void main() {
void main() {
+ if (debugColor) {
+ FragColor = color;
+ return;
+ }
+ if (debug) {
+ FragColor = mix(vec4(1, 1, 1, 0), vec4(1, 0, 0, 1), debugVal);
+ return;
+ }
// Cf = color from fragment, Ct = color from texture
// Cf = color from fragment, Ct = color from texture
- // Cc = color from texture environment(?) assume to be 0?
+ // Cc = color from texture environment -- not set, defaults to (0,0,0,0)
// Af = alpha from fragment, At = alpha from texture
// C = output color, A = output alpha
float f = texture(tex, texCoord).r;
// Af = alpha from fragment, At = alpha from texture
// C = output color, A = output alpha
float f = texture(tex, texCoord).r;
@@
-14,8
+25,13
@@
void main() {
// GL_MODULATE: C
// C = Cf * Ct
// A = Af * At
// GL_MODULATE: C
// C = Cf * Ct
// A = Af * At
- FragColor = color * f;
+ // the +0.06 is a hack to get lighter clouds!
+ // can be thought of as ambient light
+ FragColor = color * (f + 0.02);
} else {
} 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
// GL_BLEND:
// C = Cf * (1-Ct) + Cc * Ct
// A = Af * At