@@ -25,44 +25,45 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25
25
uniform sampler2D u_CurrentMap;
26
26
27
27
#if defined(r_colorGrading)
28
- uniform sampler3D u_ColorMap3D;
28
+ uniform sampler3D u_ColorMap3D;
29
29
#endif
30
30
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;
34
34
35
- IN(smooth ) vec2 var_TexCoords;
35
+ IN(smooth ) vec2 var_TexCoords;
36
36
37
37
DECLARE_OUTPUT(vec4 )
38
38
39
39
// Tone mapping is not available when high-precision float framebuffer isn't enabled or supported.
40
40
#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
+ }
54
54
#endif
55
55
56
- void main()
57
- {
56
+ void main() {
58
57
// calculate the screen texcoord in the 0.0 to 1.0 range
59
58
vec2 st = gl_FragCoord .st / r_FBufSize;
60
59
61
60
vec4 color = texture2D (u_CurrentMap, st);
62
61
color *= u_GlobalLightFactor;
63
62
64
63
#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
+ }
66
67
#endif
67
68
68
69
color.rgb = clamp ( color.rgb, vec3 ( 0 .0f ), vec3 ( 1 .0f ) );
0 commit comments