RT shadow mask below full resolution: flickering dark texels on moving avatars (amplified by DLSS / FSR into 2x2 blocks) #1086

Open
opened 2026-10-25 21:56:25 +00:00 by sky_line · 1 comment
Owner

Owner, 2026-10-25 (dev fc780b19b3, RTX 5090):

  • Small dark blocks scattered over avatars (hair, faces, horns, ears), changing every frame.
  • Only when RenderVKRTShadowMaskScale < 1 (the default is 0.5). Full resolution is clean.
  • Native: mostly gone, but small black pixels remain that change with the avatar's movement. DLSS amplifies them into visible dark blocks; FSR amplifies less.
  • Not affected by: GI on/off, RenderVKRTShadowRrHistory 0 (#1050), RenderVKReSTIRReuseMotion 0, RenderVKDenoiseMovingDepthTol 0, RenderVKDenoiseYoungBoost 0, RenderVKDenoiseDisoccFix 0, RenderVKLitDebugMask 8192. Stochastic local-light shadows on or off.

Likely area: the reduced-resolution mask's reconstruction to full resolution on moving / rigged geometry -- the depth/normal-aware upsample picking a texel from a different surface (background or an occluder) at avatar silhouettes and fine geometry (hair cards), the mask's temporal history / reprojection for skinned avatars, or the rigged-geometry trace at half-res sample positions (self-intersection on skinned meshes). Upscalers then lock the dark samples in temporally.

Acceptance: no dark texels on avatars at mask scale 0.5 under native, FSR and DLSS RR; static scenes unchanged.

Owner, 2026-10-25 (dev fc780b19b3, RTX 5090): - Small dark blocks scattered over avatars (hair, faces, horns, ears), changing every frame. - Only when `RenderVKRTShadowMaskScale` < 1 (the default is **0.5**). Full resolution is clean. - Native: mostly gone, but small black pixels remain that change with the avatar's movement. **DLSS amplifies them** into visible dark blocks; FSR amplifies less. - Not affected by: GI on/off, `RenderVKRTShadowRrHistory` 0 (#1050), `RenderVKReSTIRReuseMotion` 0, `RenderVKDenoiseMovingDepthTol` 0, `RenderVKDenoiseYoungBoost` 0, `RenderVKDenoiseDisoccFix` 0, `RenderVKLitDebugMask` 8192. Stochastic local-light shadows on or off. Likely area: the reduced-resolution mask's reconstruction to full resolution on moving / rigged geometry -- the depth/normal-aware upsample picking a texel from a different surface (background or an occluder) at avatar silhouettes and fine geometry (hair cards), the mask's temporal history / reprojection for skinned avatars, or the rigged-geometry trace at half-res sample positions (self-intersection on skinned meshes). Upscalers then lock the dark samples in temporally. Acceptance: no dark texels on avatars at mask scale 0.5 under native, FSR and DLSS RR; static scenes unchanged.
sky_line added this to the Slipstream project 2026-10-25 21:56:25 +00:00
Author
Owner

Owner test of the fix (c499b1a318 / cc6af06e47, on main and release/1.5): clearly improved under all settings; native looks clean. Some shadow noise remains under DLSS Ray Reconstruction and slightly under FSR. Keeping open for the remaining upscaler-amplified noise (candidates: the temporal pass's plane test still accepting scalp history for hair texels, the mask's jitter footprint at 0.5 scale, and RR/FSR history locking in residual dark samples; A/B RenderVKRTShadowMaskUpsampleTolMM 10 / 5).

Owner test of the fix (c499b1a318 / cc6af06e47, on main and release/1.5): clearly improved under all settings; native looks clean. Some shadow noise remains under DLSS Ray Reconstruction and slightly under FSR. Keeping open for the remaining upscaler-amplified noise (candidates: the temporal pass's plane test still accepting scalp history for hair texels, the mask's jitter footprint at 0.5 scale, and RR/FSR history locking in residual dark samples; A/B RenderVKRTShadowMaskUpsampleTolMM 10 / 5).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#1086
No description provided.