From f20ecfd6ebb5acabf7749253f6b1ae29d983ff1e Mon Sep 17 00:00:00 2001 From: Carlos Lopez Date: Tue, 4 Feb 2025 17:46:10 -0500 Subject: [PATCH] revert(batmanak): revert to luminance film grain This reverts commit 96019495f3006237229d2d060e8ed248f418906b. --- .../batmanak/tonemapper00_0x978BFB09.cs_5_0.hlsl | 4 ++-- .../batmanak/tonemapper01_0xB6B56605.cs_5_0.hlsl | 14 ++++++++++++-- .../batmanak/tonemapper02_0xF01CCC7E.cs_5_0.hlsl | 4 ++-- .../batmanak/tonemapper03_0x3A4E0B90.cs_5_0.hlsl | 11 +++++++++-- 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/games/batmanak/tonemapper00_0x978BFB09.cs_5_0.hlsl b/src/games/batmanak/tonemapper00_0x978BFB09.cs_5_0.hlsl index 6e88b90d..d611f977 100644 --- a/src/games/batmanak/tonemapper00_0x978BFB09.cs_5_0.hlsl +++ b/src/games/batmanak/tonemapper00_0x978BFB09.cs_5_0.hlsl @@ -218,10 +218,10 @@ void main(uint3 vThreadGroupID: SV_GroupID, uint3 vThreadID: SV_DispatchThreadID grainedColor = grainEffect * grainInputColor; grainedColor = renodx::color::gamma::DecodeSafe(grainedColor, 2.2f); } else { - grainedColor = renodx::effects::ApplyFilmGrainColored( + grainedColor = renodx::effects::ApplyFilmGrain( outputColor, screenXY.xy, - randomnessFactor, + frac(r3.x), cb0[11].z ? CUSTOM_FILM_GRAIN_STRENGTH * 0.03f : 0, 1.f); } diff --git a/src/games/batmanak/tonemapper01_0xB6B56605.cs_5_0.hlsl b/src/games/batmanak/tonemapper01_0xB6B56605.cs_5_0.hlsl index 74e55075..db52eebc 100644 --- a/src/games/batmanak/tonemapper01_0xB6B56605.cs_5_0.hlsl +++ b/src/games/batmanak/tonemapper01_0xB6B56605.cs_5_0.hlsl @@ -144,14 +144,24 @@ cbuffer cb0 : register(b0) { float3 invertedColor = 1.f - saturate(grainInputColor); float3 clampedColor = min(1.f, invertedColor * invertedColor); float3 modulatedStrength = clampedColor * cb0[11].zzz * CUSTOM_FILM_GRAIN_STRENGTH; + + r1.z = dot(r2.wyz, float3( + renodx::random::GELFOND_CONSTANT, + renodx::random::GELFOND_SCHNEIDER_CONSTANT, + 9.19949627)); + r1.z = cos(r1.z); + r2.xyz = r1.zzz * r2.xyz; + float3 randomnessFactor = frac(r2.xyz); + float3 grainEffect = mad(modulatedStrength, (randomnessFactor - 0.334f), 1.f); + grainedColor = grainEffect * grainInputColor; grainedColor = renodx::color::gamma::DecodeSafe(grainedColor, 2.2f); } else { - grainedColor = renodx::effects::ApplyFilmGrainColored( + grainedColor = renodx::effects::ApplyFilmGrain( outputColor, screenXY, - randomnessFactor, + frac(r3.x), cb0[11].z ? CUSTOM_FILM_GRAIN_STRENGTH * 0.03f : 0, 1.f); } diff --git a/src/games/batmanak/tonemapper02_0xF01CCC7E.cs_5_0.hlsl b/src/games/batmanak/tonemapper02_0xF01CCC7E.cs_5_0.hlsl index b7849259..4ff6c1ca 100644 --- a/src/games/batmanak/tonemapper02_0xF01CCC7E.cs_5_0.hlsl +++ b/src/games/batmanak/tonemapper02_0xF01CCC7E.cs_5_0.hlsl @@ -205,10 +205,10 @@ cbuffer cb0 : register(b0) { grainedColor = grainEffect * grainInputColor; grainedColor = renodx::color::gamma::DecodeSafe(grainedColor, 2.2f); } else { - grainedColor = renodx::effects::ApplyFilmGrainColored( + grainedColor = renodx::effects::ApplyFilmGrain( outputColor, screenXY, - randomnessFactor, + frac(r3.x), cb0[11].z ? CUSTOM_FILM_GRAIN_STRENGTH * 0.03f : 0, 1.f); } diff --git a/src/games/batmanak/tonemapper03_0x3A4E0B90.cs_5_0.hlsl b/src/games/batmanak/tonemapper03_0x3A4E0B90.cs_5_0.hlsl index 2ba2508d..7ed84c79 100644 --- a/src/games/batmanak/tonemapper03_0x3A4E0B90.cs_5_0.hlsl +++ b/src/games/batmanak/tonemapper03_0x3A4E0B90.cs_5_0.hlsl @@ -144,16 +144,23 @@ cbuffer cb0 : register(b0) { float3 clampedColor = min(1.f, invertedColor * invertedColor); float3 modulatedStrength = clampedColor * cb0[11].zzz * CUSTOM_FILM_GRAIN_STRENGTH; + r1.z = dot(r2.wyz, float3( + renodx::random::GELFOND_CONSTANT, + renodx::random::GELFOND_SCHNEIDER_CONSTANT, + 9.19949627)); + r1.z = cos(r1.z); + r2.xyz = r1.zzz * r2.xyz; + float3 randomnessFactor = frac(r2.xyz); float3 grainEffect = mad(modulatedStrength, (randomnessFactor - 0.334f), 1.f); // r1.xyz = r1.xyz * (r3.xyz - 0.334f) + 1.f; grainedColor = grainEffect * grainInputColor; // r0.xyz = r1.xyz * r0.xyz; grainedColor = renodx::color::gamma::DecodeSafe(grainedColor, 2.2f); } else { - grainedColor = renodx::effects::ApplyFilmGrainColored( + grainedColor = renodx::effects::ApplyFilmGrain( outputColor, screenXY, - randomnessFactor, + frac(r3.x), cb0[11].z ? CUSTOM_FILM_GRAIN_STRENGTH * 0.03f : 0, 1.f); }