/* Shader for gamma correction of RGBA textures. * Uses standard formula for gamma correction. * 'Gamma' is the factor to apply, ie. the inverse gamma 1/G * if applying correction for a display with gamma G. * * This is just a wrapper around icmTransformColor(), so it can be used * outside the imaging pipe, e.g., in Screen('TransformTexture') etc... * (w)2008 by Mario Kleiner. Licensed under MIT license. */ #extension GL_ARB_texture_rectangle : enable uniform sampler2DRect Image; vec4 icmTransformColor(vec4 incolor); void main() { /* Retrieve RGBA input texel, gamma-map and clamp, return as output: */ gl_FragColor = icmTransformColor(texture2DRect(Image, gl_TexCoord[0].st)); }