FidelityFX-FSR2
FidelityFX-FSR2 copied to clipboard
FFX_FSR2_ENABLE_MOTION_VECTORS_JITTER_CANCELLATION misses scaling factor
ffx_fsr2.cpp line 659, 660:
context->constants.motionVectorJitterCancellation[0] = (context->previousJitterOffset[0] - context->constants.jitterOffset[0]) / motionVectorsTargetSize[0];
context->constants.motionVectorJitterCancellation[1] = (context->previousJitterOffset[1] - context->constants.jitterOffset[1]) / motionVectorsTargetSize[1];
should be
context->constants.motionVectorJitterCancellation[0] = (context->previousJitterOffset[0] - context->constants.jitterOffset[0]) / motionVectorsTargetSize[0] * context->constants.motionVectorScale[0];
context->constants.motionVectorJitterCancellation[1] = (context->previousJitterOffset[1] - context->constants.jitterOffset[1]) / motionVectorsTargetSize[1] * context->constants.motionVectorScale[1];
How does this change affect resultant image reconstruction?
whole image jitters without this fix if FFX_FSR2_ENABLE_MOTION_VECTORS_JITTER_CANCELLATION is enabled in flags. FSR2Sample does not enable this flag.
yo @rys dude should we expect this getting fixed anytime soon?