diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2019-07-02 04:54:57 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2019-07-02 04:54:57 +0000 |
| commit | 0d7abc8bc8e95ce52e2d84e48b574d82ae4f8a3d (patch) | |
| tree | 8f9ce8bf2ea8ccf4d772d986cfd91ecf5b836e46 | |
| parent | Updated readme: added License and Contributing sections (diff) | |
| download | DiligentFX-0d7abc8bc8e95ce52e2d84e48b574d82ae4f8a3d.tar.gz DiligentFX-0d7abc8bc8e95ce52e2d84e48b574d82ae4f8a3d.zip | |
ToneMapping: removed F3ONE and F3ZERO macros
| -rw-r--r-- | Shaders/PostProcess/ToneMapping/public/ToneMapping.fxh | 28 | ||||
| -rw-r--r-- | shaders_inc/ToneMapping.fxh.h | 28 |
2 files changed, 20 insertions, 36 deletions
diff --git a/Shaders/PostProcess/ToneMapping/public/ToneMapping.fxh b/Shaders/PostProcess/ToneMapping/public/ToneMapping.fxh index d24c810..685a200 100644 --- a/Shaders/PostProcess/ToneMapping/public/ToneMapping.fxh +++ b/Shaders/PostProcess/ToneMapping/public/ToneMapping.fxh @@ -4,14 +4,6 @@ # define RGB_TO_LUMINANCE float3(0.212671, 0.715160, 0.072169) #endif -#ifndef F3ZERO -# define F3ZERO float3(0.0, 0.0, 0.0) -#endif - -#ifndef F3ONE -# define F3ONE float3(1.0, 1.0, 1.0) -#endif - float3 Uncharted2Tonemap(float3 x) { // http://www.gdcvault.com/play/1012459/Uncharted_2__HDR_Lighting @@ -32,7 +24,7 @@ float3 ToneMap(in float3 f3Color, ToneMappingAttribs Attribs, float fAveLogLum) // Compute scale factor such that average luminance maps to middle gray float fLumScale = middleGray / fAveLogLum; - f3Color = max(f3Color, F3ZERO); + f3Color = max(f3Color, float3(0.0, 0.0, 0.0)); float fInitialPixelLum = max(dot(RGB_TO_LUMINANCE, f3Color), 1e-10); float fScaledPixelLum = fInitialPixelLum * fLumScale; float3 f3ScaledColor = f3Color * fLumScale; @@ -42,7 +34,7 @@ float3 ToneMap(in float3 f3Color, ToneMappingAttribs Attribs, float fAveLogLum) #if TONE_MAPPING_MODE == TONE_MAPPING_MODE_EXP float fToneMappedLum = 1.0 - exp( -fScaledPixelLum ); - return fToneMappedLum * pow(f3Color / fInitialPixelLum, Attribs.fLuminanceSaturation * F3ONE); + return fToneMappedLum * pow(f3Color / fInitialPixelLum, Attribs.fLuminanceSaturation * float3(1.0, 1.0, 1.0)); #elif TONE_MAPPING_MODE == TONE_MAPPING_MODE_REINHARD || TONE_MAPPING_MODE == TONE_MAPPING_MODE_REINHARD_MOD @@ -56,30 +48,30 @@ float3 ToneMap(in float3 f3Color, ToneMappingAttribs Attribs, float fAveLogLum) # else float fToneMappedLum = L_xy * (1.0 + L_xy / (whitePoint*whitePoint)) / (1.0 + L_xy); # endif - return fToneMappedLum * pow(f3Color / fInitialPixelLum, Attribs.fLuminanceSaturation * F3ONE); + return fToneMappedLum * pow(f3Color / fInitialPixelLum, Attribs.fLuminanceSaturation * float3(1.0, 1.0, 1.0)); #elif TONE_MAPPING_MODE == TONE_MAPPING_MODE_UNCHARTED2 // http://filmicgames.com/archives/75 float ExposureBias = 2.0; float3 curr = Uncharted2Tonemap(ExposureBias*f3ScaledColor); - float3 whiteScale = F3ONE/Uncharted2Tonemap(whitePoint*F3ONE); + float3 whiteScale = float3(1.0, 1.0, 1.0) / Uncharted2Tonemap(float3(whitePoint, whitePoint, whitePoint)); return curr*whiteScale; #elif TONE_MAPPING_MODE == TONE_MAPPING_FILMIC_ALU // http://www.gdcvault.com/play/1012459/Uncharted_2__HDR_Lighting - float3 f3ToneMappedColor = max(F3ZERO, f3ScaledColor - 0.004*F3ONE); - f3ToneMappedColor = (f3ToneMappedColor * (6.2 * f3ToneMappedColor + 0.5*F3ONE)) / - (f3ToneMappedColor * (6.2 * f3ToneMappedColor + 1.7*F3ONE)+ 0.06*F3ONE); + float3 f3ToneMappedColor = max(f3ScaledColor - float3(0.004, 0.004, 0.004), float3(0.0, 0.0, 0.0)); + f3ToneMappedColor = (f3ToneMappedColor * (6.2 * f3ToneMappedColor + float3(0.5, 0.5, 0.5))) / + (f3ToneMappedColor * (6.2 * f3ToneMappedColor + float3(1.7, 1.7, 1.7))+ float3(0.06, 0.06, 0.06)); // result has 1/2.2 gamma baked in - return pow(f3ToneMappedColor, 2.2 * F3ONE); + return pow(f3ToneMappedColor, float3(2.2, 2.2, 2.2)); #elif TONE_MAPPING_MODE == TONE_MAPPING_LOGARITHMIC // http://www.mpi-inf.mpg.de/resources/tmo/logmap/logmap.pdf float fToneMappedLum = log10(1.0 + fScaledPixelLum) / log10(1.0 + whitePoint); - return fToneMappedLum * pow(f3Color / fInitialPixelLum, Attribs.fLuminanceSaturation * F3ONE); + return fToneMappedLum * pow(f3Color / fInitialPixelLum, Attribs.fLuminanceSaturation * float3(1.0, 1.0, 1.0)); #elif TONE_MAPPING_MODE == TONE_MAPPING_ADAPTIVE_LOG @@ -88,7 +80,7 @@ float3 ToneMap(in float3 f3Color, ToneMappingAttribs Attribs, float fAveLogLum) float fToneMappedLum = 1.0 / log10(1.0 + whitePoint) * log(1.0 + fScaledPixelLum) / log( 2.0 + 8.0 * pow( fScaledPixelLum / whitePoint, log(Bias) / log(0.5)) ); - return fToneMappedLum * pow(f3Color / fInitialPixelLum, Attribs.fLuminanceSaturation * F3ONE); + return fToneMappedLum * pow(f3Color / fInitialPixelLum, Attribs.fLuminanceSaturation * float3(1.0, 1.0, 1.0)); #endif } diff --git a/shaders_inc/ToneMapping.fxh.h b/shaders_inc/ToneMapping.fxh.h index 418f8a8..66d8db2 100644 --- a/shaders_inc/ToneMapping.fxh.h +++ b/shaders_inc/ToneMapping.fxh.h @@ -4,14 +4,6 @@ "# define RGB_TO_LUMINANCE float3(0.212671, 0.715160, 0.072169)\n" "#endif\n" "\n" -"#ifndef F3ZERO\n" -"# define F3ZERO float3(0.0, 0.0, 0.0)\n" -"#endif\n" -"\n" -"#ifndef F3ONE\n" -"# define F3ONE float3(1.0, 1.0, 1.0)\n" -"#endif\n" -"\n" "float3 Uncharted2Tonemap(float3 x)\n" "{\n" " // http://www.gdcvault.com/play/1012459/Uncharted_2__HDR_Lighting\n" @@ -32,7 +24,7 @@ " // Compute scale factor such that average luminance maps to middle gray\n" " float fLumScale = middleGray / fAveLogLum;\n" " \n" -" f3Color = max(f3Color, F3ZERO);\n" +" f3Color = max(f3Color, float3(0.0, 0.0, 0.0));\n" " float fInitialPixelLum = max(dot(RGB_TO_LUMINANCE, f3Color), 1e-10);\n" " float fScaledPixelLum = fInitialPixelLum * fLumScale;\n" " float3 f3ScaledColor = f3Color * fLumScale;\n" @@ -42,7 +34,7 @@ "#if TONE_MAPPING_MODE == TONE_MAPPING_MODE_EXP\n" " \n" " float fToneMappedLum = 1.0 - exp( -fScaledPixelLum );\n" -" return fToneMappedLum * pow(f3Color / fInitialPixelLum, Attribs.fLuminanceSaturation * F3ONE);\n" +" return fToneMappedLum * pow(f3Color / fInitialPixelLum, Attribs.fLuminanceSaturation * float3(1.0, 1.0, 1.0));\n" "\n" "#elif TONE_MAPPING_MODE == TONE_MAPPING_MODE_REINHARD || TONE_MAPPING_MODE == TONE_MAPPING_MODE_REINHARD_MOD\n" "\n" @@ -56,30 +48,30 @@ "# else\n" " float fToneMappedLum = L_xy * (1.0 + L_xy / (whitePoint*whitePoint)) / (1.0 + L_xy);\n" "# endif\n" -" return fToneMappedLum * pow(f3Color / fInitialPixelLum, Attribs.fLuminanceSaturation * F3ONE);\n" +" return fToneMappedLum * pow(f3Color / fInitialPixelLum, Attribs.fLuminanceSaturation * float3(1.0, 1.0, 1.0));\n" "\n" "#elif TONE_MAPPING_MODE == TONE_MAPPING_MODE_UNCHARTED2\n" "\n" " // http://filmicgames.com/archives/75\n" " float ExposureBias = 2.0;\n" " float3 curr = Uncharted2Tonemap(ExposureBias*f3ScaledColor);\n" -" float3 whiteScale = F3ONE/Uncharted2Tonemap(whitePoint*F3ONE);\n" +" float3 whiteScale = float3(1.0, 1.0, 1.0) / Uncharted2Tonemap(float3(whitePoint, whitePoint, whitePoint));\n" " return curr*whiteScale;\n" "\n" "#elif TONE_MAPPING_MODE == TONE_MAPPING_FILMIC_ALU\n" "\n" " // http://www.gdcvault.com/play/1012459/Uncharted_2__HDR_Lighting\n" -" float3 f3ToneMappedColor = max(F3ZERO, f3ScaledColor - 0.004*F3ONE);\n" -" f3ToneMappedColor = (f3ToneMappedColor * (6.2 * f3ToneMappedColor + 0.5*F3ONE)) / \n" -" (f3ToneMappedColor * (6.2 * f3ToneMappedColor + 1.7*F3ONE)+ 0.06*F3ONE);\n" +" float3 f3ToneMappedColor = max(f3ScaledColor - float3(0.004, 0.004, 0.004), float3(0.0, 0.0, 0.0));\n" +" f3ToneMappedColor = (f3ToneMappedColor * (6.2 * f3ToneMappedColor + float3(0.5, 0.5, 0.5))) / \n" +" (f3ToneMappedColor * (6.2 * f3ToneMappedColor + float3(1.7, 1.7, 1.7))+ float3(0.06, 0.06, 0.06));\n" " // result has 1/2.2 gamma baked in\n" -" return pow(f3ToneMappedColor, 2.2 * F3ONE);\n" +" return pow(f3ToneMappedColor, float3(2.2, 2.2, 2.2));\n" "\n" "#elif TONE_MAPPING_MODE == TONE_MAPPING_LOGARITHMIC\n" " \n" " // http://www.mpi-inf.mpg.de/resources/tmo/logmap/logmap.pdf\n" " float fToneMappedLum = log10(1.0 + fScaledPixelLum) / log10(1.0 + whitePoint);\n" -" return fToneMappedLum * pow(f3Color / fInitialPixelLum, Attribs.fLuminanceSaturation * F3ONE);\n" +" return fToneMappedLum * pow(f3Color / fInitialPixelLum, Attribs.fLuminanceSaturation * float3(1.0, 1.0, 1.0));\n" "\n" "#elif TONE_MAPPING_MODE == TONE_MAPPING_ADAPTIVE_LOG\n" "\n" @@ -88,7 +80,7 @@ " float fToneMappedLum = \n" " 1.0 / log10(1.0 + whitePoint) *\n" " log(1.0 + fScaledPixelLum) / log( 2.0 + 8.0 * pow( fScaledPixelLum / whitePoint, log(Bias) / log(0.5)) );\n" -" return fToneMappedLum * pow(f3Color / fInitialPixelLum, Attribs.fLuminanceSaturation * F3ONE);\n" +" return fToneMappedLum * pow(f3Color / fInitialPixelLum, Attribs.fLuminanceSaturation * float3(1.0, 1.0, 1.0));\n" "\n" "#endif\n" "}\n" |
