ReSTIR DI: shadowed direct lighting from every local light, projector and emissive surface (RT tier) #869
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#869
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?
Child of the RT GI epic #87. Replaces the per-pixel sum over unshadowed local lights with resampled direct lighting: each pixel picks its most important light sample(s) from all lights via reservoir resampling (RIS), reuses picks temporally and spatially, and traces one visibility ray on the final sample. Cost stays roughly flat in light count (~1-2 shadow rays/pixel), and every light gets a shadow.
Ray-tracing tier only. Cards without ray query keep today's tiled lighting, the projector shadow-map atlas and #439's cube-map fallback.
Pipeline change
Today:
clean_deferred_light.compculls <= 256 lights per 16x16 tile and each pixel sums its tile's lights unshadowed; up to 4 RT projectors per pixel come from the shadow-mask slots (clean_rt_shadow_mask.comp->uRawProj) and the shadow denoiser.New chain after the G-buffer (RT tier):
The sun stays on its existing RT mask path. The tile lists / froxel grid stay: they are the candidate source here and still serve forward alpha, particles, water, volumetrics and probe captures.
Staging: ship plain RIS + world light grid + denoiser first (published results show ~2x cheaper than full ReSTIR for a small quality loss), then add temporal/spatial reuse.
What it replaces (RT tier)
Must preserve (SL content)
Risks
Settings / acceptance
RenderVKReSTIRDI(Off / RIS / Full reuse), RT tier only; GPU timers per pass.Depends on: #85 (diffuse/specular denoiser), RT foundation (done), temporal pipeline (#84, done). Size: L (roadmap P7, 4-6 pw).