The description of NVSDK_NGX_DLSS_Feature_Flags_MVJittered
in programming guide is as below,
In my understanding, it need to be set if the motion vectors calculated by using jittered clip position.
However, I get a shaking output if enable this flag. On the contrary, I get a normal output.
I try to figure out what the flag does in DLSS official demo. I found the demo does not setup this flag and excludes
jitter from motion vector in “motion_vectors.hlsli” as following:
float2 GetMotionVector(float2 svPosition, float3 prevWorldPos, PlanarViewConstants view, PlanarViewConstants viewPrev)
{
float4 clipPos = mul(float4(prevWorldPos, 1), viewPrev.matWorldToClip);
if (clipPos.w <= 0)
return 0;
clipPos.xyz /= clipPos.w;
float2 prevWindowPos = clipPos.xy * viewPrev.clipToWindowScale + viewPrev.clipToWindowBias;
return prevWindowPos - svPosition + (view.pixelOffset - viewPrev.pixelOffset);
}
However, I found view.pixelOffset
and viewPrev.pixelOffset
are always same during my debugging, which means the codes of excluding jitter from motion vectors do nothing. And I enable NVSDK_NGX_DLSS_Feature_Flags_MVJittered
in demo, which results in a shaking output.
Here is some information:
- OS: WIN11, 23H2
- Driver: GeForce Game Ready 555.85
- DLSS 3.7