#vertex void main() { gl_Position = ftransform(); } #fragment uniform sampler2D cld; uniform sampler2D pat; uniform vec4 cp[3]; void main() { int i; float c = 0.0; for (i = 0; i < 3; ++i) c += texture2D(cld, cp[i].z * gl_FragCoord.xy + cp[i].xy).r * cp[i].w; gl_FragColor = vec4(0.7, 0.7, 0.7, 0.0) + c * vec4(0.8, 0.7, 0.5, 0.0) - vec4(0.1, 0.1, 0.1, 0.0) * (1.0 - texture2D(pat, 0.125 * gl_FragCoord.xy).r); }