From e28b6ae6de1fe551de05988e254ae69cecb032ff Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Tue, 14 Apr 2020 11:36:49 -0500 Subject: [PATCH] misc fixes to mitigate banding scriptside: 1) HDRPostFX::onEnabled needs to test vs GFXFormatR16G16B16A16F, as that's what's getting returned by getBestHDRFormat() 2) AL_FormatToken shifted to that same GFXFormatR16G16B16A16F target format 3) tangental but somewhat related, we were doubling up refposition offsets in the boxproject sourceside: tweaked the capture code for probes to ensure that the "screengrab" and output cubemap formats were identical --- Templates/BaseGame/game/core/postFX/scripts/HDRPostFX.cs | 2 +- Templates/BaseGame/game/core/rendering/scripts/renderManager.cs | 2 +- Templates/BaseGame/game/core/rendering/shaders/lighting.hlsl | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Templates/BaseGame/game/core/postFX/scripts/HDRPostFX.cs b/Templates/BaseGame/game/core/postFX/scripts/HDRPostFX.cs index f74fbcd0c..f1e7932d7 100644 --- a/Templates/BaseGame/game/core/postFX/scripts/HDRPostFX.cs +++ b/Templates/BaseGame/game/core/postFX/scripts/HDRPostFX.cs @@ -287,7 +287,7 @@ function HDRPostFX::onEnabled( %this ) // Set the right global shader define for HDR. if ( %format $= "GFXFormatR10G10B10A2" ) addGlobalShaderMacro( "TORQUE_HDR_RGB10" ); - else if ( %format $= "GFXFormatR16G16B16A16" ) + else if ( %format $= "GFXFormatR16G16B16A16F" ) addGlobalShaderMacro( "TORQUE_HDR_RGB16" ); echo( "HDR FORMAT: " @ %format ); diff --git a/Templates/BaseGame/game/core/rendering/scripts/renderManager.cs b/Templates/BaseGame/game/core/rendering/scripts/renderManager.cs index 8a0a8adea..07b4f08a6 100644 --- a/Templates/BaseGame/game/core/rendering/scripts/renderManager.cs +++ b/Templates/BaseGame/game/core/rendering/scripts/renderManager.cs @@ -34,7 +34,7 @@ function initRenderManager() enabled = "false"; //When hdr is enabled this will be changed to the appropriate format - format = "GFXFormatR8G8B8A8_SRGB"; + format = "GFXFormatR16G16B16A16F"; depthFormat = "GFXFormatD24S8"; aaLevel = 0; // -1 = match backbuffer diff --git a/Templates/BaseGame/game/core/rendering/shaders/lighting.hlsl b/Templates/BaseGame/game/core/rendering/shaders/lighting.hlsl index 870756628..35dd834a0 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/lighting.hlsl +++ b/Templates/BaseGame/game/core/rendering/shaders/lighting.hlsl @@ -377,7 +377,7 @@ float3 boxProject(float3 wsPosition, float3 wsReflectVec, float4x4 worldToObj, f float dist = min(min(furthestPlane.x, furthestPlane.y), furthestPlane.z); float3 posonbox = wsPosition + wsReflectVec * dist; - return posonbox - refPosition.xyz; + return posonbox; } float4 computeForwardProbes(Surface surface,