Starting new issue, for new and better GI, successor to #510
Concept:
- Irradiance cache points, similar to offline rendering
Goals:
- Improve quality (multi bounce)
- Allow scaling to low-end most hardware
Key building blocks
- Irradiance points for final gather
- RayQuery (if supported), for tracing rays
- ??? for world-space irradiance cache
(only sun is pathtraced, 64 paths per IC)

First bounce (working)
GBuffer driven hole filling on empty-tile.
Iterative hole filling on tiles with healthy cache.
Second bounce (idea)
On primitive storage for cache-points. uvec2(instanceID, primitiveID) form a key to hash table, with multiple records for cache-points.
Spawn of secondary surfels restricted by remaining path energy.
Reference materials:
DreamWorks:
https://www.tabellion.org/et/paper/siggraph_2004_gi_for_films.pdf
https://cgg.mff.cuni.cz/~jaroslav/gicourse2010/giai2010-04-eric_tabellion-slides.pdf
Very game-friendly setup, with min/max surfel radius accounted in interpolation math.

Disney(Cache Points for Many-Lights)
https://cdn.disneyanimation.com/uploads/publications/DIGIPRO2024_cachepoints_paper_final.pdf
https://disneyanimation.com/publications/cache-points-for-production-scale-occlusion-aware-many-lights-sampling-and-volumetric-scattering/
https://media.disneyanimation.com/uploads/production/publication_asset/177/asset/a.pdf
Not today tech for a game, but maybe valid future-looking idea. Maybe some particular building blocks can be of use.

Extended:
https://www.cs.umd.edu/~zwicker/publications/RadianceCachingParticipatingMedia-TOG08.pdf
https://dcgi.fel.cvut.cz/wp-content/wpallimport-dist/publications/pdf/publications-2006-krivanek-egsr-mricp-paper.pdf
https://sgvr.kaist.ac.kr/~sungeui/SGA08/course_note/IC.pdf
https://studios.disneyresearch.com/wp-content/uploads/2019/03/Practical-Hessian-Based-Error-Control-for-Irradiance-Caching-2.pdf
https://cgg.mff.cuni.cz/~jaroslav/papers/2008-irradiance_caching_class/03-greg-ic.pdf
https://people.mpi-inf.mpg.de/alumni/d4/2016/rherzog/Papers/herzogEG09.pdf
Reference materials (rendering):
Micro-rendering:
https://jankautz.com/publications/microrenderingSIGAsia09.pdf
Today probably, no point to bother with surfel-clouds. Instead same concept can be implemented with nanite-like visibility buffer. Every micro-framebuffer is ~24x24 pixels, making any polygon effectively micropoly that can be rasterized with atomicMin
Starting new issue, for new and better GI, successor to #510
Concept:
Goals:
Key building blocks
Prototype (https://github.com/Try/OpenGothic/tree/gi-rendering-2)
(only sun is pathtraced, 64 paths per IC)

First bounce (working)
GBuffer driven hole filling on empty-tile.
Iterative hole filling on tiles with healthy cache.
Second bounce (idea)
On primitive storage for cache-points.
uvec2(instanceID, primitiveID)form a key to hash table, with multiple records for cache-points.Spawn of secondary surfels restricted by remaining path energy.
Reference materials:
DreamWorks:
https://www.tabellion.org/et/paper/siggraph_2004_gi_for_films.pdf

https://cgg.mff.cuni.cz/~jaroslav/gicourse2010/giai2010-04-eric_tabellion-slides.pdf
Very game-friendly setup, with min/max surfel radius accounted in interpolation math.
Disney(Cache Points for Many-Lights)
https://cdn.disneyanimation.com/uploads/publications/DIGIPRO2024_cachepoints_paper_final.pdf

https://disneyanimation.com/publications/cache-points-for-production-scale-occlusion-aware-many-lights-sampling-and-volumetric-scattering/
https://media.disneyanimation.com/uploads/production/publication_asset/177/asset/a.pdf
Not today tech for a game, but maybe valid future-looking idea. Maybe some particular building blocks can be of use.
Extended:
https://www.cs.umd.edu/~zwicker/publications/RadianceCachingParticipatingMedia-TOG08.pdf
https://dcgi.fel.cvut.cz/wp-content/wpallimport-dist/publications/pdf/publications-2006-krivanek-egsr-mricp-paper.pdf
https://sgvr.kaist.ac.kr/~sungeui/SGA08/course_note/IC.pdf
https://studios.disneyresearch.com/wp-content/uploads/2019/03/Practical-Hessian-Based-Error-Control-for-Irradiance-Caching-2.pdf
https://cgg.mff.cuni.cz/~jaroslav/papers/2008-irradiance_caching_class/03-greg-ic.pdf
https://people.mpi-inf.mpg.de/alumni/d4/2016/rherzog/Papers/herzogEG09.pdf
Reference materials (rendering):
Micro-rendering:
https://jankautz.com/publications/microrenderingSIGAsia09.pdf
Today probably, no point to bother with surfel-clouds. Instead same concept can be implemented with nanite-like visibility buffer. Every micro-framebuffer is ~24x24 pixels, making any polygon effectively micropoly that can be rasterized with atomicMin