159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta#import "Common/ShaderLib/MultiSample.glsllib" 259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 359b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartauniform COLORTEXTURE m_Texture; 459b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartain vec2 texCoord; 559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 659b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartauniform float m_gamma; 759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 859b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartavec3 gamma(vec3 L,float gamma) 959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta{ 1059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta return pow(L, vec3(1.0 / gamma)); 1159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta} 1259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 1359b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartavoid main() { 1459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta vec4 texVal = texture2D(m_Texture, texCoord); 1559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 1659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta if(m_gamma > 0.0) 1759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta { 1859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta texVal.rgb = gamma(texVal.rgb , m_gamma); 1959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 2059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 2159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta #ifdef COMPUTE_LUMA 2259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta texVal.a = dot(texVal.rgb, vec3(0.299, 0.587, 0.114)); 2359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta #endif 2459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 2559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta gl_FragColor = texVal; 2659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta}