[require] GLSL >= 1.10 [vertex shader] varying vec4 texcoords; void main() { gl_Position = gl_Vertex; texcoords = (gl_Vertex + 1.0) / 2.0; } [fragment shader] varying vec4 texcoords; uniform sampler2D tex; void main() { vec4 result = texture2D(tex, texcoords.xy); result.y = result.y * 0.9; result.x = result.x * 0.9; gl_FragColor = texture2D(tex, result.xy); } [test] uniform int tex 0 texture rgbw 0 (8, 8) draw rect -1 -1 2 2 relative probe rgb (0.25, 0.25) (0.0, 1.0, 0.0) relative probe rgb (0.75, 0.25) (0.0, 0.0, 1.0) relative probe rgb (0.25, 0.75) (1.0, 0.0, 0.0) relative probe rgb (0.75, 0.75) (1.0, 1.0, 1.0)