[Epic] RT denoiser (shadows, AO, GI) #85
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#85
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?
Goal: one reusable denoiser for 1-spp ray-traced signals: shadows (per light or aggregated), AO, diffuse GI (and later reflections).
Approach
SVGF / ReBLUR-style: temporal accumulation (reprojection via motion vectors, history length, disocclusion reset from depth+normal) -> variance estimate -> edge-aware à-trous spatial filter guided by the thin G-buffer. Separate signal inputs so AO/shadow/GI can share passes but keep distinct parameters.
Children
Size: M-L. Depends on: Temporal epic items 1, 2, 4, 6.
Child 2 (spatial a-trous filter) + child 4 (debug views) done for the RT shadow mask:
c83c0ac0d6(RenderVKRTShadowAtrous, RenderVKRTShadowDebug 1-5; off by default). Lands in 1.2.0 Beta 8. Remaining: temporal accumulation, per-light visibility for projectors, AO / GI inputs.Sun-shadow part is done and owner-verified: SVGF-style temporal history + variance-driven a-trous for the RT shadow mask (
c83c0ac0d6,7074b8109f,9592885200), wing-flap artefact #608 fixed. Shipped in 1.2.0. Remaining and not started: per-light visibility for projectors, and AO / GI inputs (#86). Nothing is being worked on right now, so this moves from In Progress to To Do.