Re

Realtime Global Illumination on Older Hardware [video]

Hacker News

Realtime Global Illumination on Older Hardware [video]

Hi everyone, A few months ago I posted here on HN about my open source 3D rendering engine. Since then I've been working on the new version which implements additional modern graphics techniques while still running on older GTX 10 series hardware. This includes emission mapping, FXAA+TAA, better mesh LOD generation and selection, but the most difficult one was an overhaul of the global illumination system. The global illumination overhaul was the biggest aspect of the new release. The goal was better visuals than the previous version while maintaining equal performance. I wanted to outline how it works and what I had to do to maintain performance. = How It Works = * Direct lighting: Handled using standard rasterization pipeline with cascaded shadow mapping * 2nd bounce of light: Approximated by a set of virtual point lights * 3rd bounce of light: Not directly simulated but shadows are tapered to prevent harsh cutoff. VPLs can also be placed in open spaces to help spread light where it wouldn't be able to go without a true 3rd bounce. * Adaptive sampling: maximum of 4200 virtual lights per frame are selected. Each pixel computes lighting using between 1 and 10 random samples based on object's distance to camera and whether or not the lighting history was recently discarded for that pixel (recently discarded = temporarily sample more heavily). * Spatial resampling: each pixel can look at a few of its neighbors each frame. If the neighbor is a good fit it will merge that neighbor's samples into its own to increase the effective sample count. * Denoise and temporal accumulation: 2 level wavelet denoiser combined with temporal accumulation to get rid of most noise and stabilize the image even when in motion. = Maintaining Performance = There are a few key ways that this version is able to both look better yet have the same performance as the previous version on the same hardware. 1) Reuse as much data as possible between frames. This is where the temporal accumulation aspect comes into play. 2) VPLs are updated slowly over many frames to prevent any single frame from halting the system. 3) With thousands of VPLs per frame, they can't all be factored in for each pixel. It's too much work. The approach was to instead sample from the set of VPLs randomly, reuse as much data spatially as possible, denoise the result and temporally accumulate 1 second worth of frames. I'm very happy with the results! Roughly the same performance as the previous version but better visuals. GitHub (open sourced under the MPL-2.0 license): https://github.com/KTStephano/StratusGFX Image Showreel: https://ktstephano.github.io/rendering/stratusgfx/feature_re... High-Level Tech Breakdown: https://ktstephano.github.io/rendering/stratusgfx/frame_anal...

Share card

Actual performance

1points
Did not reach leaderboard

Launch Intel predictions

Analyze your own launch →
Indie HackersFits the IH revenue-focused audience · Missing: supports, reddit linkedin, podcasting
84%84% predicted probability of success on Indie Hackers, based on ML models trained on real launch data.
best fitHighest predicted score across all platforms for this description.
Product HuntOn track for Day 1 leaderboard · Strong signals: new, visual, single · Missing: mac, agents, macos
75%75% predicted probability of success on Product Hunt, based on ML models trained on real launch data.
Hacker NewsStrong engagement from HN community · Strong signals: open source, ide, pipe · Missing: https docs, excited, just released
52%52% predicted probability of success on Hacker News, based on ML models trained on real launch data.
nativeThis product was originally launched on this platform.
TrustMRRLess likely to generate early MRR · Strong signals: video, month, way · Missing: mobile apps, ios, personal
48%48% predicted probability of success on TrustMRR, based on ML models trained on real launch data.
AppSumoMay struggle as an AppSumo deal · Missing: plus, platform, intuitive
37%37% predicted probability of success on AppSumo, based on ML models trained on real launch data.
Acquire.comPre-revenue stage for this audience · Missing: arr, mrr, revenue
17%17% predicted probability of success on Acquire.com, based on ML models trained on real launch data.
BetaListMay not resonate with beta-testers · Missing: web3, chat, crypto
0%0% predicted probability of success on BetaList, based on ML models trained on real launch data.

Incorrect prediction on native model

Similar products

Pe
Pebble realtime bus departures in Sydney65%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Pebble realtime bus departures in Sydney

Hacker News3
Re
Realtime DAO52%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Realtime DAO

Hacker News3
Re
Realtime Spheretracing in WebGL66%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Realtime Spheretracing in WebGL

Hacker News1
Re
Realtime Blackboard58%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Realtime Blackboard

Hacker News3
Re
Realtime busses (websockets, leaflet and d3) (59%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Realtime busses (websockets, leaflet and d3) (

Hacker News1
I
I made SOL75 – a compiler for hardware59%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

I made SOL75 – a compiler for hardware

Hacker News1
Mi
Microcontroller with hardware-accelerated Lua VM72%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Microcontroller with hardware-accelerated Lua VM

Hacker News8
ProjectHunt
ProjectHunt37%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

IoT, Hardware

Indie Hackerscommitment-side-project
Re
Realtime AI and Telephony and DTMF61%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Realtime AI and Telephony and DTMF

Hacker News2
Di
Diarupt AI – Converse with AI over video in realtime55%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Diarupt AI – Converse with AI over video in realtime

Hacker News5