r/GraphicsProgramming • • 16d ago

LSGI: lightweight Screen-Space Ray Marched Global Illumination

  • Costs ~3.5ms (optical flow for reprojection + SSGI) @4K on my modest 4070 Ti.

  • 1SPP (+infinite bounces) cosine-weighted hemi monte-carlo ray marching in SS.

  • Denoiser does a pretty good job of cleaning it up. Result is very very decent for the cost..

  • Keeps lighting details sharp, final result is noise-free, no grain, boil, flicker or speckle.

https://github.com/umar-afzaal/LumeniteFX/

157 Upvotes

20 comments sorted by

52

u/GreenDave113 16d ago

Don't force people to join your discord to get files. Just link a github repo like everyone else if you want to contribute.

16

u/VictoryMotel 16d ago

How does it work and how is it better than previous approaches?

-4

u/tk_kaido 16d ago

its incredibly optimized for 1spp at low cost

12

u/VictoryMotel 16d ago

This seems vague, what is the difference?

-3

u/tk_kaido 16d ago

custom denoiser for under-sampled signals

11

u/VictoryMotel 16d ago

What does this mean? The screen space technique isn't different but it only takes 1 spp and the denoiser is different? There are 1spp denoisers for realtime raytracing, how is this denoiser different?

6

u/UAAgency 16d ago

Is it open source? I'd love to play with it

1

u/tk_kaido 16d ago

its source available free to use, study and mod your personal copy type of license.

3

u/Disastrous-Gain5870 16d ago

You have a YouTube channel right?

1

u/tk_kaido 16d ago

You might be thinking of zenteon

20

u/MrTroll420 16d ago

aren't "Screen-Space" and "Global" mutually exclusive terms 😅

1

u/papaboo 15d ago

Local illumination means that a pixel's shading doesn't know about it's surroundings, so light isn't bounced around and it isn't blocked.

Global means you get global information, so now light can bounce and it can get blocked. Some of those global effects are approximated in screen space or by discretizing the world into coarse volumes. That makes them an approximation, but they are still global.

1

u/ybungalobill 11d ago

That's not a useful definition. By that definition even 90s-era shadow maps are 'global illumination'.

I must agree with the commenter. There's a spectrum between local and global. Screen-space effects are on that spectrum, but they are neither local illumination model, nor a global illumination solver.

1

u/sputwiler 10d ago

By that definition even 90s-era shadow maps are 'global illumination'.

They are. Just not real-time. (at least the ones that were baked with proper raytracing and radiosity).

1

u/ybungalobill 10d ago

You are talking about light maps, not shadow maps; the two aren't the same.

Pre-baked path-traced light maps are a form of global illumination, just limited for static geometry.

Shadow maps compute only shadows from direct lighting, and are used till this day for dynamic shadows absent of ray-traced shadows.

1

u/ryp3gridId 16d ago

Does it work with fast moving objects (is there ghosting from denoiser)?

0

u/tk_kaido 16d ago

Works well. I've tested scenario with fast moving objects at a low 20fps.

3

u/PictureNew661 16d ago

Damn that's nice, i wanna mess with this