@@ -25,44 +25,45 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2525uniform sampler2D u_CurrentMap;
2626
2727#if defined(r_colorGrading)
28- uniform sampler3D u_ColorMap3D;
28+ uniform sampler3D u_ColorMap3D;
2929#endif
3030
31- uniform vec4 u_ColorModulate;
32- uniform float u_GlobalLightFactor; // 1 / tr.identityLight
33- uniform float u_InverseGamma;
31+ uniform vec4 u_ColorModulate;
32+ uniform float u_GlobalLightFactor; // 1 / tr.identityLight
33+ uniform float u_InverseGamma;
3434
35- IN(smooth ) vec2 var_TexCoords;
35+ IN(smooth ) vec2 var_TexCoords;
3636
3737DECLARE_OUTPUT(vec4 )
3838
3939// Tone mapping is not available when high-precision float framebuffer isn't enabled or supported.
4040#if defined(r_highPrecisionRendering) && defined(HAVE_ARB_texture_float)
41- /* x: contrast
42- y: highlightsCompressionSpeed
43- z: shoulderClip
44- w: highlightsCompression */
45- uniform bool u_Tonemap;
46- uniform vec4 u_TonemapParms;
47- uniform float u_TonemapExposure;
48-
49- vec3 TonemapLottes( vec3 color ) {
50- // Lottes 2016, "Advanced Techniques and Optimization of HDR Color Pipelines"
51- return pow ( color, vec3 ( u_TonemapParms[0 ] ) )
52- / ( pow ( color, vec3 ( u_TonemapParms[0 ] * u_TonemapParms[1 ] ) ) * u_TonemapParms[2 ] + u_TonemapParms[3 ] );
53- }
41+ /* x: contrast
42+ y: highlightsCompressionSpeed
43+ z: shoulderClip
44+ w: highlightsCompression */
45+ uniform bool u_Tonemap;
46+ uniform vec4 u_TonemapParms;
47+ uniform float u_TonemapExposure;
48+
49+ vec3 TonemapLottes( vec3 color ) {
50+ // Lottes 2016, "Advanced Techniques and Optimization of HDR Color Pipelines"
51+ return pow ( color, vec3 ( u_TonemapParms[0 ] ) )
52+ / ( pow ( color, vec3 ( u_TonemapParms[0 ] * u_TonemapParms[1 ] ) ) * u_TonemapParms[2 ] + u_TonemapParms[3 ] );
53+ }
5454#endif
5555
56- void main()
57- {
56+ void main() {
5857 // calculate the screen texcoord in the 0.0 to 1.0 range
5958 vec2 st = gl_FragCoord .st / r_FBufSize;
6059
6160 vec4 color = texture2D (u_CurrentMap, st);
6261 color *= u_GlobalLightFactor;
6362
6463#if defined(r_highPrecisionRendering) && defined(HAVE_ARB_texture_float)
65- color.rgb = TonemapLottes( color.rgb * u_TonemapExposure );
64+ if ( u_Tonemap ) {
65+ color.rgb = TonemapLottes( color.rgb * u_TonemapExposure );
66+ }
6667#endif
6768
6869 color.rgb = clamp ( color.rgb, vec3 ( 0 .0f ), vec3 ( 1 .0f ) );
0 commit comments