ReSTIR DI occlusion cull: object-space blocky dark patches (stochastic light shadows) #1052
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#1052
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Dark patches with straight, angular (polygon / triangle-shaped) edges appear in shadowed areas: on snow, and on an avatar's face (a triangle-shaped darker region). They look related to shadows. Small coloured square specks (teal / yellow) are also visible on the snow in the same view; that may be a separate issue.
Seen on dev 1.5 (
b2761279e3), RTX 5090, RT shadows, after several settings changes in the session (reflection probes and upscaler toggled). The patches went away on their own after a while.Ruled out: the split shadow kernels. The owner A/B'd RenderVKShadowSplitKernels 0/1.
Suspects:
Needs a repro: which settings were changed just before, and whether it shows on 1.4.
Owner's follow-up: the patches on the snow may be a separate issue from the ones on the avatar. They look like they could be per snow cell: blocks that line up with the snow height-field / accumulation grid or the snow mesh tiles, rather than with shadow casters.
For the snow half, check per-cell / per-tile values that differ between neighbouring cells: snow depth or coverage, the normal or relief, the shelter / cover map, and the per-tile mesh rebuilds (RenderVKWeatherSnowMeshInterval and local tile patches). The shadow half (the facet-shaped patch on the face) keeps the terminator / denoiser suspects. Split into two tickets if they turn out to be separate.
New evidence (owner, 1.5 candidate
724175e6e4under validation layers): the same blockiness on an ordinary object (a red cylinder, 'Paper roll'). The patches are axis-aligned rectangles in screen space, of different sizes, each with a thin outline. Their edges stay horizontal / vertical across the curved surface. So it is probably not snow cells or shadow casters, but a tiled screen-space pass where neighbouring tiles took different shading paths.Suspects, in order:
A/B to run:
Also check whether the pattern is fixed to the screen when the camera moves. The face patch from the first report may be the same thing.
Correction: the pattern is in object space. It stays on the object when the camera moves, so it is not a screen-space tile pass.
Rectangular patches of varying size with thin outlines, fixed to the surface, on unrelated objects (snow, an avatar face, a plain prim cylinder) point at textures rather than lighting. If the normal map is affected, it reads as shading / shadows.
Suspects:
Decisive test: RenderVKTextureCompression 0, then reload textures (teleport away and back, or restart). Both suspects are in 1.4.1 as well, so check there too.
Root cause confirmed (owner A/B): the blocks come from the ReSTIR DI occlusion cull (RenderVKReSTIROcclusionCull, #869, default 1).
Mechanism: the cull's world-space surface-patch cache (0.25 m near the camera, coarser with distance) drops a light from a patch's light list once the patch's rays to it all come back blocked. A wrong or stale verdict darkens the whole patch, which shows as object-space rectangles with hard edges at patch borders, of varying size by distance.
With the cull off there are other shadow issues (details from the owner pending); likely what the cull was added to prevent (sweeping shadows / noise next to blocked lights).
Dev only (not in 1.4); stochastic shadows are off by default.
Blocky, polygon-edged dark patches in shadows (snow, avatar face); transientto ReSTIR DI occlusion cull: object-space blocky dark patches (stochastic light shadows)Fixed on main in
9a3b516949; not in a published release yet, so this stays open for testing until it ships.