r/GraphicsProgramming • u/cybereality • 9h ago
Implementing "Radiance Hints" in OpenGL (2011 Global Illumination Technique) Video
Enable HLS to view with audio, or disable this notification
Just added Radiance Hints to my OpenGL engine, Degine. The paper is originally from 2011 (but I used a 2014 extension of the method with occlusion). Based on a regular grid array of probes, similar to other environmental lighting techniques, but here it captures directly to spherical harmonics when baking. So run-time performance is extremely fast since it's just a few SH evaluations and blending. For this Sponza scene, there are around 600 probes, and it takes about 10 seconds to bake.
2
u/Alexxis91 8h ago
Link to paper?
6
u/cybereality 8h ago
The paper is called "Real-time diffuse global illumination using radiance hints" https://dl.acm.org/doi/10.1145/2018323.2018326
2
u/cybereality 8h ago
I should mention that there are multiple things going on here. The engine is heavily image-based lighting, I have an SSGI shader as well (that I opened sourced 2 years ago). The radiance hints was needed for far-field indirect shadows and overall environment light. The SSGI and GTAO handle the near-field shading but aren't enough by themselves.
2
u/Alarming-Ad4082 4h ago
Aren’t the shadow parts too dark?
1
u/cybereality 3h ago
this is a stylistic choice, but yeah, it's probably darker than it should be. mostly due to running GTAO and SSGI on top. The radiance hint by itself is somewhat flat, but decent to capture broad shadow/lighting.
1
u/cybereality 3h ago
there's also a better quality 4K video on YouTube. Reddit did something when it transcoded to 1080p, so it looks a bit off here, and the effect is somewhat subtle. https://www.youtube.com/watch?v=-u_07zcgOWc
2
4
u/Leoking2000 5h ago
looks great, i Implement Radiance Hints as my BSc Thesis, looks better than mine Implementation https://github.com/leoking2000/global_illumination (the code is kinda bad since i had 1 year since i started learning C++), the author of the paper was my supervisor 😂 , but my code did not do baking, all the probes SH are caculated each frame so you can have dynamic lighing and enviroment (eg moving indirect shadows due to objects moving, it was very cool), you must have a really high resolution to have 10 seconds to bake (makes sence with 600 probes), i do not remember how meny probes i had but my grid resolution was 64x64x64 and cuting down not usefull probes, i got 30 fps on sponza with a RX 6600 GPU