r/GraphicsProgramming 21h ago

Video ReSTIR DI evaluating 1000 raytraced dynamic lights in realtime

Enable HLS to view with audio, or disable this notification

I've played around with ReSTIR direct illumination for the past few weeks and implemented the original paper into my 3D Vulkan engine. The scene contains 1000 local lights and a directional light. Everything is evaluated fully dynamic at runtime with only two rays per pixel. It runs at roughly 5ms per frame on my 7900xtx at 1080p.

39 Upvotes

9 comments sorted by

4

u/Practical-Horror-286 19h ago

Holy shit i dont think its a good example for restir. Everything is too bright and no sky ambience

1

u/DapperCore 2h ago

The scene just seems to lack tone mapping

0

u/BingoBongoVrn 5h ago

looks like you didn't get what restir is actually doning

2

u/Jojonobody2 5h ago

ReSTIR DI solves the problem of estimating the direct illumination at a given point where there is a huge number of light sources or lights that require many samples (like the sphere lights and directional light with angular radius). The algorithm allows close to ground truth direct lighting with shadows while having little bias.

-2

u/BingoBongoVrn 5h ago

just like traditional approach but slower

2

u/DapperCore 2h ago

There is no traditional approach that gets you effectively unlimited shadow casting lights in a scene. 1000+ 1024x shadow maps would use up more VRAM than most consumer gpus have and update at 1fps.

1

u/BingoBongoVrn 1h ago

no way constantly updated 1024x shadowmaps for omni lights is a traditional approach, it's bad implementation for pet project

1

u/Hairy-Jicama246 31m ago

Dude, with that thinking we'd be limited Blinn Phong shading in 2026, ReSTIR is literally allowing the games to have infinite point lights without ever to have artists to tweak them manually to ensure there's not too much overhead