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 = tanh(clamp(d, 0.0, 4.0)); c.rgb = mix(border, exterior, k); } gl_FragColor = c; }