159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta#import "Common/ShaderLib/MultiSample.glsllib" 259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 359b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartauniform COLORTEXTURE m_Texture; 459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 559b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartauniform float m_ExposurePow; 659b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartauniform float m_ExposureCutoff; 759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 859b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartain vec2 texCoord; 959b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaout vec4 outFragColor; 1059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 1159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta#ifdef HAS_GLOWMAP 1259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta uniform sampler2D m_GlowMap; 1359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta#endif 1459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 1559b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartavoid main(){ 1659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta vec4 color = vec4(0.0); 1759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta #ifdef DO_EXTRACT 1859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta color = getColorSingle(m_Texture, texCoord); 1959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta if ( (color.r + color.g + color.b) / 3.0 >= m_ExposureCutoff ) { 2059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta color = pow(color, vec4(m_ExposurePow)); 2159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta }else{ 2259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta color = vec4(0.0); 2359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 2459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta #endif 2559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 2659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta #ifdef HAS_GLOWMAP 2759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta vec4 glowColor = texture2D( m_GlowMap, texCoord ); 2859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta glowColor = pow(glowColor, vec4(m_ExposurePow)); 2959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta color += glowColor; 3059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta #endif 3159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 3259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta outFragColor = color; 3359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta} 34