// Texture sampler uniform sampler2D TextureSampler; // TexCoords from vertex shader varying vec2 TexCoords; void main (void) { // Texture is sampled at Texcoords using texture2D vec4 Color = texture2D(TextureSampler, TexCoords); // Inverse the color to produce negative image effect Color.rgb = 1.0 - Color.rgb; gl_FragColor = Color; }