(Tempo reale-) Punto di partenza dell'illuminazione globale [chiuso]


10

Quali tecniche dovrebbero essere osservate quando si accede all'illuminazione globale in tempo reale (per scenari di illuminazione dinamica)?

È difficile avere una vera presa sulle diverse tecniche menzionate senza sapere nulla sull'argomento. Se volessi incorporare GI nel mio motore grafico, dove avrei dovuto iniziare a leggere come base? Quali algoritmi sono implementabili in un lasso di tempo ragionevole da qualcuno di nuovo (ovvero non un algoritmo altamente specializzato che ottiene prestazioni minori per mesi di lavoro) e che non sono completamente obsoleti (ovvero sostituiti da qualcosa di semplicemente più carino e veloce)?

La mappatura dei fotoni sembra emergere molto, e ho letto cose come la traccia del cono voxel e algoritmi più specifici, ad esempio questa tecnica utilizzata in CryEngine 3 . Tuttavia, sapendo quasi nulla sul campo, è difficile decidere da dove iniziare.

Quali tecniche generali vale la pena esaminare?


Stai specificamente cercando un'illuminazione globale dinamica ? Esistono molti algoritmi ben compresi e documentati per l'illuminazione globale statica (alias pre-elaborata), ma ho la sensazione che non li stai cercando.
Chewy Gumball,

1
Sebbene sia un argomento interessante, questa domanda è essenzialmente un "Cosa imparare dopo" e in realtà non ha una risposta corretta. Invece, lo vedo solo generando un elenco di argomenti (che credo sia esattamente quello che stai cercando). È certamente un argomento interessante, ma è un argomento di discussione e probabilmente non adatto al sito.
MichaelHouse

1
Una domanda su quale sia l'attuale stato dell'arte sarebbe altamente localizzata nel tempo.

1
9 voti positivi e chiusi? Sei serio? @ Byte56
ashes999,

1
@JoshPetrie Forse quando è stato formulato come stato dell'arte, ma questa domanda ha il potenziale per avere risposte molto utili e il motivo della stretta sembra essere piuttosto superficiale.
Chewy Gumball,

Risposte:


6

Perché non dai un'occhiata alla mia tesi di laurea ?

Apparentemente il risultato è stato un duro colpo per l'accettazione di SIGGRAPH (hanno rifiutato il mio documento) e non mi sono presentato ad altre conferenze. Ma presenta ancora una buona introduzione a IG, scritta nella tipica comprensibilità del bobobobo (in realtà alcune sezioni vanno un po 'troppo in profondità, ma ehi).

Ti consigliamo di consultare la sezione 2.4, che molto rapidamente e con riferimenti scorre attraverso alcuni dei più recenti algoritmi gi in tempo reale tra cui

  • ray tracing in tempo reale
  • radiosity in tempo reale (illuminare / bf3)
  • metodi di ombreggiatura differita e spazio dello schermo (ssdo, ssao)
  • trasferimento radiante precompilato e armoniche sferiche

Questo è tutto ciò che ho ottenuto nel mio sondaggio. Dichiarazione di non responsabilità che potrei aver perso qualcosa.

Ad ogni modo, non hai davvero alcuna speranza di implementarli tutti in 3 mesi. Direi sceglierne uno e lavorarci sopra. Il ray tracing in tempo reale è di gran lunga il più eccitante per me , perché è un vero metodo gi. A differenza dei metodi dello spazio dello schermo, rtrt non è un "hack" - non soffre di strani effetti che ssdo fa:

inserisci qui la descrizione dell'immagine


> Ad ogni modo, non hai davvero alcuna speranza di implementarli tutti in 3 mesi. Direi sceglierne uno e lavorarci su. <È deludente. Non sono sicuro di come approccerei un singolo algoritmo in un modo che meriti una tesi di laurea. Penso che implementarlo solo per vedere come appare non sia abbastanza. E non credo di essere in grado di escogitare i miei miglioramenti su un particolare algoritmo (semplicemente non so nulla sul campo). Beh, almeno, non vorrei rischiare di dover passare altri 6 mesi a studiarlo.
TravisG,

Bene, parla con il tuo supervisore. Hai già scritto un raytracer? Al centro di uno di questi è di solito un raytracer. I fotoni che mappano "parcheggiano" i fotoni nella scena (essenzialmente proiettando i raggi dalla sorgente luminosa nella scena), e successivamente la scena viene rintracciata. Sinceramente penso che RTRT sia il miglior candidato, perché ottenere un raytracer di base non è troppo difficile e puoi aggiungere / tagliare funzionalità quando il tempo lo consente. Con alcuni degli algoritmi più avanzati (come quello che hai collegato), sono molto complicati e presentano un'elevata barriera all'ingresso.
bobobobo,

Questo esempio fatto da Evan è un buon esempio di rtrt in esecuzione nel tuo browser.
bobobobo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.