diff --git a/data/effects/color-grade.effect b/data/effects/color-grade.effect index 34ba7616..5f375e9f 100644 --- a/data/effects/color-grade.effect +++ b/data/effects/color-grade.effect @@ -86,13 +86,13 @@ float3 grade_tint(float3 v) { if (pTintMode == TINT_MODE_LINEAR) { // Linear } else if (pTintMode == TINT_MODE_EXP) { // Exp - value = 1.0 - exp2(value * pTintExponent * -C_log2_e); + value = 1.0 - exp2(value * pTintExponent * -C_log2_e); } else if (pTintMode == TINT_MODE_EXP2) { // Exp2 value = 1.0 - exp2(value * value * pTintExponent * pTintExponent * -C_log2_e); } else if (pTintMode == TINT_MODE_LOG) { // Log value = (log2(value) + 2.) / 2.333333; } else if (pTintMode == TINT_MODE_LOG10) { // Log10 - value = (log10(value) + 1.) / 2.; + value = (m_log10(value) + 1.) / 2.; } float3 tint = float3(0,0,0); diff --git a/data/effects/shared.effect b/data/effects/shared.effect index 56d4c216..f98e2c32 100644 --- a/data/effects/shared.effect +++ b/data/effects/shared.effect @@ -1,3 +1,11 @@ +//------------------------------------------------------------------------------ +// HLSL/GLSL Support +//------------------------------------------------------------------------------ +// OBS Studio does not correctly translate all HLSL functionality to GLSL. + +// log10(x) is HLSL-exclusive and not translated by OBS Shader Parser. +#define m_log10(x) (log(x) / log(10)) + //------------------------------------------------------------------------------ // Uniforms //------------------------------------------------------------------------------