/* Shader for applying a bias and scale factor to a rectangle texture during drawing. * Can be used to apply f(g)=(g + prescaleoffset)*scalefactor + postscaleoffset; * (w)2006 by Mario Kleiner. Licensed under MIT license. */ #extension GL_ARB_texture_rectangle : enable /* We currently only support rectangular textures: */ uniform sampler2DRect Image; uniform float prescaleoffset; uniform float postscaleoffset; uniform float scalefactor; void main() { vec4 incolor = texture2DRect(Image, gl_TexCoord[0].st); /* Just pass-through the alpha value, do not modify it: */ gl_FragColor.a = incolor.a; /* Apply mapping to RGB channels... */ gl_FragColor.rgb = ((incolor.rgb + vec3(prescaleoffset)) * scalefactor) + vec3(postscaleoffset); }