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}