#vertex uniform mat4 view; void main() { vec4 pos = gl_ModelViewMatrix * gl_Vertex; gl_FrontColor = gl_Color; gl_BackColor = gl_Color; gl_TexCoord[0] = pos; gl_Position = gl_ProjectionMatrix * view * pos; } #fragment uniform sampler2D t; void main() { vec3 c = gl_Color.xyz; float z = 1.0 - 25.0 * (1.0 / gl_FragCoord.z - 1.0); z = 0.9 * (1.0 - z * z); c *= z; z = 0.5 * (texture2D(t, gl_TexCoord[0].xy).r - 0.5); c += z; gl_FragColor = vec4(c.xyz, gl_Color.a); }