// GL Shading Language version 1.0 Fragment Shader // Orion Sky Lawlor, olawlor@acm.org, 2005/2/10 (Public Domain) // Vertex/fragment shader interface varying vec4 world; // World position varying vec4 worldN; // World normal varying vec4 albedo; // Material diffuse color varying vec4 viewdir; // Viewer direction (to camera) uniform sampler3D myNoise; void main(void) { vec4 N=worldN; N+=0.2*(texture3D(myNoise,vec3(world*10.0))-0.5); vec4 R=reflect(-viewdir,normalize(N)); gl_FragColor=texture3D(myNoise,vec3(normalize(R))); }