uniform sampler2D de; uniform sampler2D it; uniform sampler2D tt; uniform vec3 interior; uniform vec3 border; uniform vec3 exterior; void main(void) { float d = texture2D(de, gl_TexCoord[0].st).x; float i = texture2D(it, gl_TexCoord[0].st).x; float t = texture2D(tt, gl_TexCoord[0].st).x; vec4 c = vec4(interior, 1.0); if (i > 0.0) { float k = clamp(0.5 + 0.5 * log2(0.5 * d), 0.0, 1.0); c.rgb = mix(border, exterior, k); } gl_FragColor = c; }