Radiosità VS Ray tracing


12

La radio è fondamentalmente ciò che consente questo: Illuminazione diretta VS Radiosity

In un tutorial della Cornell University sulla Radiosità si dice che:

Una versione del ray-tracing dell'immagine mostra solo la luce che raggiunge lo spettatore con il riflesso diretto, quindi non ha effetti di colore.

Tuttavia in Wikipedia :

La radiosity è un algoritmo di illuminazione globale nel senso che l'illuminazione che arriva su una superficie proviene non solo direttamente dalle fonti di luce, ma anche da altre superfici che riflettono la luce.

...

Il metodo di radiosity nell'attuale contesto di computer grafica deriva (ed è fondamentalmente lo stesso) dal metodo di radiosity nel trasferimento di calore.

E se il ray tracing è in grado di:

simulazione di una vasta gamma di effetti ottici, come la riflessione (riflessione diffusa ) e la dispersione (ovvero la deflessione di un raggio da un percorso rettilineo, ad esempio da irregolarità nel mezzo di propagazione, particelle o nell'interfaccia tra due media)

Quel tutorial non ha preso in considerazione questi effetti o ci sono metodi di radiosity che possono essere usati nel ray tracing per abilitarli?

In caso contrario, questi effetti ottici non potrebbero simulare completamente la radiosity o l' algoritmo di radiosity è più efficace nel risolvere il problema della riflessione diffusa?

Risposte:


13

La radiosità non tiene conto delle riflessioni speculari (ovvero gestisce solo riflessioni diffuse). Il ray-tracing di Whitted considera solo il riflesso lucido o diffuso, possibilmente riflesso a specchio. E infine, il tracciato del percorso di Kajiya è il più generale [2], gestendo un numero qualsiasi di riflessi diffusi, lucidi e speculari.

Quindi penso che dipenda da cosa intendi per "ray tracing": la tecnica sviluppata da Whitted o qualsiasi tipo di "ray tracing" ...

Nota a margine: Heckbert [1] (o Shirley?) Ha ideato una classificazione degli eventi di dispersione della luce che ha avuto luogo mentre la luce viaggiava dall'apparecchio agli occhi. In generale ha la seguente forma:

L(S|D)*E

"L" sta per apparecchio, "D" per riflesso diffuso, "S" per riflesso o rifrazione speculare, "E" per occhio e i simboli "*", "|", "()", "[]" come dalla notazione delle espressioni regolari e denota rispettivamente "zero o più", "o", "raggruppamento", "uno di". Veach [3] ha esteso la notazione nella sua famosa tesi di "D" per Lambertian, "S" per speculare e "G" per la riflessione lucida e "T" per la trasmissione.

In particolare, le seguenti tecniche sono classificate come:

  • Ombreggiatura OpenGL: EDL

  • Ray-casting di Appel: E(D|G)L

  • Ray tracing di Whitted: E[S*](D|G)L

  • Il percorso di Kajiya: E[(D|G|S)+(D|G)]L

  • Radiosità di Golar: ED*L

[1] Paul S. Heckbert. Trame di radiosità adattativa per ray tracing bidirezionale. SIGGRAPH Computer Graphics, Volume 24, Numero 4, Agosto 1990

[2] Il corso Siggraph 2001 "State of the Art in Monte Carlo Ray Tracing for Realistic Image Synthesis" afferma quanto segue: "Il ray tracing distribuito e il tracciato del percorso includono rimbalzi multipli che coinvolgono scattering non speculare come E(D|G)*L. Tuttavia, anche questi metodi ignorano percorsi della forma E(D|G)S*L; cioè, più speculari rimbalzano dalla sorgente luminosa come in una caustica. "

[3] Eric Veach. Robusti metodi Monte Carlo per la simulazione del trasporto leggero. Ph.D. tesi di laurea, Università di Stanford, dicembre 1997


La notazione per tracciare il percorso suggerisce che non può gestire percorsi simili ES*Lma, naturalmente, può farlo se sono luci di area (non luci puntuali). Inoltre, penso che questa affermazione nel tuo riferimento [2] sia semplicemente sbagliata. Il tracciato del percorso non ignora la caustica; non è molto efficiente (mappatura dei fotoni, Metropolis, VCM ecc. sono migliori).
Nathan Reed,

Grazie Ecir per la spiegazione (specialmente il regex ... Mi chiedo se abbiano mai considerato E {2} per entrambi gli occhi;). Quando ho citato il "ray tracing" stavo in qualche modo citando il tutorial della Cornell University, non menzionavano alcuna tecnica specifica, ecco perché dubitavo che la radiosità fosse un tipo o appartenesse in parte al ray tracing. Quindi, se dovessi creare una riflessione diffusa, sceglieresti il ​​tracciato del percorso rispetto alla radiosità? Perché (quale sarebbe più efficiente)?
Armfoot,

1
@NathanReed L'ho chiesto a ompf2 e geniale dice: "L'unico tipo di percorsi di luce che un tracciatore di percorsi in avanti non può campionare è E (D | G) * S + L, dove L è una sorgente di luce la cui definizione implica una distribuzione delta , sia nell'emissione direzionale sia in quella posizionale. Esempi sono luci puntiformi e luci direzionali. Tali percorsi possono essere descritti usando la notazione estesa di Veach per apparecchi di illuminazione e sensori, vedere la sezione 8.3.2 della sua tesi. "
Ecir Hana,

@Armfoot Vorrei sicuramente andare con il tracciato del percorso. Molta ricerca, libri, codice da cui imparare. Non so quale sarebbe più veloce, però, troppe variabili (struttura di accelerazione, sistema di ombreggiatura, ...). Apparentemente la radio simula la propagazione del calore dopo aver diviso la scena in molti piccoli triangoli ( FEM ), non l'ho mai provato e l'unico prodotto per usarlo che conosco era Autodesk Lightscape. Ultimo ma non meno importante, sei davvero sicuro di aver mai bisogno solo di riflessi diffusi?
Ecir Hana,

1
@Armfoot La notazione non usa E {2} per lo stesso motivo per cui non usa L {n} per più luci. Descrive un singolo percorso o un singolo campione. Il modo in cui formalizziamo normalmente il rendering di Monte Carlo è prendere l'equazione di rendering di Kajiya e quindi trasformarla in una variabile casuale, il cui valore atteso è la soluzione dell'equazione. È quindi possibile calcolare il valore di un pixel prendendo molti campioni e stimando la media. I percorsi di luce corrispondono più o meno ai diagrammi di Feynman.
Pseudonimo del
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.