Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Global illumination V2

Aperta
#945 12 commenti 1 reazione 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
22/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
cpp

Direzione di ricerca

Start by comparing the gi-rendering-2 prototype branch with the existing -gi 1 implementation and the predecessor issue #510. The issue proposes -gi 2, irradiance cache points and optional RayQuery, but leaves key design choices open. Done would require agreeing on an implementable approach and delivering scalable, higher-quality multi-bounce GI; no files or tests are identified.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Starting new issue, for new and better GI, successor to https://github.com/Try/OpenGothic/issues/510

Enable:
-gi 2 in command-line, while at testing (-gi 1 is old probe based GI)

Concept:

  • Irradiance cache points, similar to offline rendering

Goals:

  • Improve quality (multi bounce)
  • Allow scaling to low-end most hardware

Key building blocks

  1. Irradiance points for final gather
  2. RayQuery (if supported), for tracing rays
  3. ??? for world-space irradiance cache
Prototype (https://github.com/Try/OpenGothic/tree/gi-rendering-2)

(only sun is pathtraced, 64 paths per IC)
Image

Image
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.
Image

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.
Image

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

Image

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

Lingua principale
C++
Stelle
1.6k
Fork
138
Merge medio
1g 22h
PR unite (30g)
14

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Try/OpenGothic

Tutte le issue di Try/OpenGothic

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.