[require] GLSL >= 1.30 [vertex shader] #version 130 void main() { gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; } [fragment shader] #version 130 void main() { /* Divide by 10 to get a decimal part */ float x = gl_FragCoord.x / 10.0; /* Divide by 25.0 to bring it into the [0, 1] range. */ gl_FragColor = vec4(roundEven(x) / 25.0, -roundEven(-x) / 25.0, 0.0, 1.0); } [test] clear color 0.0 0.0 0.0 0.0 clear ortho draw rect 0 0 250 250 probe rgb 1 1 0.00 0.00 0 probe rgb 14 14 0.04 0.04 0 probe rgb 15 15 0.08 0.08 0 probe rgb 16 16 0.08 0.08 0 probe rgb 63 63 0.24 0.24 0 probe rgb 124 124 0.48 0.48 0 probe rgb 126 126 0.52 0.52 0 probe rgb 249 249 1.00 1.00 0