Skeletal pixels now bypass the internal temporal accumulato

This commit is contained in:
Justin Marshall
2026-05-24 15:52:51 -07:00
parent 4ccdb56258
commit 26dd7e649e
2 changed files with 21 additions and 3 deletions
+5 -1
View File
@@ -4122,6 +4122,7 @@ VSOut VSMain(VSIn i)
float3 worldBinormal = mul((float3x3)gModelMatrix, i.binormal);
currClip.z = 0.5 * (currClip.z + currClip.w);
prevClip.z = 0.5 * (prevClip.z + prevClip.w);
o.pos = currClip;
o.currClip = currClip;
@@ -4366,6 +4367,7 @@ VSOut DSMain(HSConstOut tessFactors, float3 bary : SV_DomainLocation, const Outp
float3 worldNormal = mul((float3x3)gModelMatrix, objNormal);
currClip.z = 0.5 * (currClip.z + currClip.w);
prevClip.z = 0.5 * (prevClip.z + prevClip.w);
o.pos = currClip;
o.currClip = currClip;
@@ -7571,7 +7573,9 @@ static sl::Result QD3D12_SetStreamlineCommonConstants(sl::FrameToken& frameToken
memcpy(&consts.clipToPrevClip, g_gl.cameraState.clipToPrevClip.m, sizeof(float) * 16);
memcpy(&consts.prevClipToClip, g_gl.cameraState.prevClipToClip.m, sizeof(float) * 16);
consts.jitterOffset = { g_gl.jitterX, g_gl.jitterY };
consts.mvecScale = { 1.0f, 1.0f }; // motion vectors are written in PreviousUV - CurrentUV
const float motionScaleX = g_currentWindow ? (float)g_currentWindow->renderWidth : 1.0f;
const float motionScaleY = g_currentWindow ? (float)g_currentWindow->renderHeight : 1.0f;
consts.mvecScale = { motionScaleX, motionScaleY }; // motion vectors are written in PreviousUV - CurrentUV
consts.cameraPinholeOffset = { 0.0f, 0.0f };
memcpy(&consts.cameraPos, g_gl.cameraState.cameraPos, sizeof(float) * 3);
memcpy(&consts.cameraRight, g_gl.cameraState.cameraRight, sizeof(float) * 3);