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