#version 140 void main(void) { gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; float x = gl_Position.x; float y = gl_Position.y; float z = gl_Position.z; int depth = int(sqrt(x * x + y * y + z * z)); if (depth > 10000 || depth < 800) { depth = 0; } int red = depth % 32; int green = (depth / 32) % 32; int blue = (depth / 1024) % 32; float fRed = float(red) / 32.0; float fGreen = float(green) / 32.0; float fBlue = float(blue) / 32.0; gl_FrontColor = vec4(fRed, fGreen, fBlue, 1.0); }