Qual è l'approssimazione del dipolo per lo scattering del sottosuolo?


18

Se leggi articoli sullo scattering del sottosuolo, troverai spesso riferimenti a qualcosa chiamato "approssimazione dipolo". Questo termine sembra tornare al documento A Practical Model for Subsurface Light Transport di Henrik Wann Jensen et al., Ma questo documento è piuttosto difficile da capire.

Qualcuno può spiegare in termini relativamente semplici qual è l'approssimazione del dipolo e come viene utilizzato nel rendering dello scattering del sottosuolo?


1
È davvero un documento complicato (mi dà ancora incubi di tanto in tanto!) Ma ho cercato di semplificare un po 'il tutto. Fammi sapere se pensi che la risposta qui sotto debba essere modificata in un modo o nell'altro :)
cifz

Risposte:


23

L'assunto alla base di tale modello è lo stesso di molti altri modelli per il rendering della pelle; lo scattering del sottosuolo può essere approssimato come fenomeno di diffusione. Ciò è positivo perché nei media ad alta dispersione, la distribuzione della luce perde dipendenza dall'angolo e tende all'isotropia.

L'approssimazione del dipolo è una formulazione per la risoluzione di tale problema di diffusione in modo analitico.

Fondamentalmente iniziano approssimando il BSSRDF come componente di scattering multiplo e singolo. Lo scattering multiplo viene quindi definito come:

inserisci qui la descrizione dell'immagine

Dove sono termini di Fresnel e R è il profilo di diffusione espresso in funzione della distanza tra il punto di entrata e di uscita. FtR

Questa viene definita profilo di diffusione e formulano questo profilo tramite un'approssimazione di dipolo. Il contributo del raggio di luce in entrata è considerato come quello di due sorgenti virtuali: una negativa sotto la superficie e una positiva sopra di essa (ecco perché dipolo)R

inserisci qui la descrizione dell'immagine

Qui nella foto r è Xio-Xo sopra. Il contributo di tali sorgenti luminose dipende da vari fattori come la distanza della luce dalla superficie, il coefficiente di dispersione ecc. (Vedi sotto per una descrizione più dettagliata della formula stessa).

Questo modello tiene conto solo di più eventi di scattering, ma va bene per la pelle. Va notato, tuttavia, che per alcuni materiali traslucidi (ad es. Fumo e marmo) la dispersione singola è fondamentale. Quel documento propone un'unica formulazione scattering, ma è costoso.

Il profilo di diffusione è di solito approssimato per l'applicazione in tempo reale come una serie di sfocature gaussiane (come nelle opere seminali di D'Eon et al. In GPU Gems 3 quindi utilizzate per il SSSSS di Jimenez) in modo da renderlo pratico per scenari in tempo reale . In questo meraviglioso documento ci sono dettagli su tale approssimazione. Un'immagine da quel documento mostra in realtà quanto è buona questa formulazione:

inserisci qui la descrizione dell'immagine

Come nota a margine l'approssimazione del dipolo presuppone che il materiale sia semi-infinito, tuttavia questa ipotesi non vale con lastre sottili e materiale multistrato come la pelle. Basandosi sul lavoro dipolo, Donner e Jensen [2005] hanno proposto l'approssimazione multipolare che spiega i problemi del dipolo. Con questo modello anziché un singolo dipolo, gli autori ne usano una serie per descrivere il fenomeno dello scattering. In tale formulazione i profili di riflettanza e trasmittanza possono essere ottenuti riassumendo il contributo dei diversi dipoli coinvolti


EDIT: sto mettendo qui le risposte a un paio di domande di @NathanReed nella sezione commenti:

Anche con l'approssimazione del profilo di diffusione, il modello BSSRDF richiede ancora l'integrazione su un raggio di punti vicini sulla superficie per raccogliere la luce in entrata, giusto? Come si ottiene ciò, diciamo, in un tracciatore di percorsi? Devi costruire una struttura di dati in modo da poter campionare punti sulla superficie vicino a un determinato punto?

L'approssimazione BSSRDF deve ancora essere integrata su una certa area, sì.

Nel documento collegato hanno usato un ray-tracer Montecarlo campionando casualmente attorno ad un punto con una densità definita come:

σtre-σtrd

Dove quel valore sigma è l'effettivo coefficiente di estinzione definito di seguito (dipende dal coefficiente di dispersione e assorbimento, che sono proprietà del materiale) ed è la distanza dal punto che stiamo valutando. Questa densità è definita in questo modo perché il termine di diffusione ha un declino esponenziale.

In [Jensen e Buhler 2002] hanno proposto una tecnica di accelerazione. Uno dei concetti principali era quello di separare il campionamento dalla valutazione del termine di diffusione. In questo modo eseguono una valutazione gerarchica delle informazioni calcolate durante la fase di campionamento per raggruppare campioni distanti quando si tratta di valutare la diffusione. L'implementazione descritta nel documento utilizza un ottetto come struttura. Questa tecnica, secondo il documento, è dell'ordine di grandezza più veloce della piena integrazione di Monte Carlo.
Sfortunatamente non mi sono mai trovato in un'implementazione off-line, quindi non posso fare a meno di questo.

Nelle approssimazioni della somma dei gaussiani in tempo reale il raggio corretto è implicitamente impostato quando si definisce la varianza delle sfocature gaussiane che devono essere applicate.

Perché una luce positiva e una negativa? L'obiettivo è che si annullino a vicenda in qualche modo?

2UND

inserisci qui la descrizione dell'immagine

Fdr


EDIT2: ho ampliato (un po ') alcuni dei concetti di questa risposta in un post sul blog: http://bit.ly/1Q82rqT


Per coloro che non hanno paura di molte lettere greche in una formula, ecco un estratto della mia tesi in cui il profilo di riflettanza è brevemente descritto in ogni termine:

inserisci qui la descrizione dell'immagine


Grazie! Mi sto ancora chiedendo un paio di cose. (1) Anche con l'approssimazione del profilo di diffusione, il modello BSSRDF richiede ancora l'integrazione su un raggio di punti vicini sulla superficie per raccogliere la luce in entrata, giusto? Come si ottiene ciò, diciamo, in un tracciatore di percorsi? Devi costruire una struttura di dati in modo da poter campionare punti sulla superficie vicino a un determinato punto? E (2) Perché una luce positiva e una negativa? L'obiettivo è che si annullino a vicenda in qualche modo?
Nathan Reed,

1) In effetti, ciò che propongono nel documento con il loro tracciante Monte Carlo Ray è un campionamento stocastico con una densità specifica basata sulla distanza e sul coefficiente di estinzione. Immagino che tu possa lanciare il dardo per trovare campioni e usare un'opportuna probabilità di accettazione basata sul coefficiente di estinzione. e distanza. (1/2)
cifz

So che Jensen ha pubblicato un approccio di integrazione gerarchica nel 2002 che sfortunatamente ho letto solo una volta e qualche tempo fa, quindi ricordo solo alcuni bit. Il concetto principale era quello di disaccoppiare il campionamento dall'approssimazione della diffusione e raggruppare campioni distanti. IIRC usarono un ottetto come struttura gerarchica. Non mi sono mai trovato in un'implementazione offline, quindi non ho molto aiuto su altri dettagli su questo, temo. (2/2)
cifz

2) In questo modo per soddisfare alcune condizioni al contorno, si desidera che la fluenza diventi zero in corrispondenza di un determinato confine estrapolato che ha una distanza specifica dal mezzo. Questa distanza viene calcolata in base al coefficiente di scattering e all'albedo di scattering.
cifz,

@NathanReed Fammi sapere se questo ha chiarito qualcosa, altrimenti posso provare ad espandere i pensieri in questo commento nella risposta stessa
cifz

3

Per comprendere facilmente la "teoria del dipolo", dobbiamo prima capire da dove proviene la "teoria della diffusione".

E deriva dalla simulazione del trasporto di luce nei media partecipanti risolvendo l'equazione del trasporto di luminosità (RTE).

L'approssimazione della diffusione classica risolve l'RTE considerando solo un'espansione armonica sferica del primo ordine della radianza. Se supponiamo inoltre che la funzione sorgente sia una sorgente di punti isotropi di potenza unitaria in un mezzo omogeneo infinito, arriviamo alla classica funzione di Green di diffusione (monopolo).

Durante il rendering di materiali traslucidi, è conveniente riformulare questo problema in analogia all'integrale di riflessione della superficie locale. Ciò si traduce in un'equazione integrale che calcola la radiazione in uscita, Lo, in posizione e direzione come una convoluzione dell'illuminazione incidente, Li e BSSRDF, S, su tutte le posizioni e direzioni dell'incidente.

Ora con la funzione di diffusione di Green non teniamo conto delle condizioni al contorno imposte dalle superfici del materiale. Queste condizioni possono essere semplicemente gestite posizionando una sorgente negativa speculare all'esterno del supporto per ogni sorgente positiva all'interno del supporto in modo tale che la fluenza venga azzerata a una distanza estrapolata sopra la superficie. Questa è l'approssimazione dipolo.

Quindi, senza condizioni al contorno, la nostra fluenza è espressa volumetricamente all'interno del mezzo. Per rendere lo scattering del sottosuolo dobbiamo calcolare la luce lasciando vari punti sulla superficie. Perché ciò accada dobbiamo calcolare i profili di diffusione dovuti a un dipolo in modo da valutare la derivata direzionale della fluenza nella direzione della normale alla superficie.

Gli ultimi progressi su BSSRDF provengono dallo spostamento dell'approccio volumetrico iniziale e dei media partecipanti con elementi ad hoc che tengono meglio conto delle condizioni al contorno della superficie.

Per quanto riguarda la ..

Il modello BSSRDF richiede ancora l'integrazione su un raggio di punti vicini sulla superficie per raccogliere la luce in entrata ..?

Sì, integriamo la luce incidente insieme al BSSRDF in tutte le posizioni e direzioni degli incidenti.

Ora possiamo adottare qui un metodo di forza bruta o un approccio di lancio di freccette con rouletting russo. Ma sono entrambi approcci ingenui.

SSS è entrato in produzione (Pixar Renderman) quando è stato sviluppato un metodo di approssimazione per utilizzare la raccolta gerarchica della luce utilizzando una struttura di dati a ottici in cui cuocere l'illuminazione diffusa per essere disponibile nei cluster per il calcolo SSS. Con Renderman si è trattato di un approccio naturale grazie a REYES, in modo che ogni micropoligone generato da REYES potesse essere facilmente "diviso" in un punto e inserito in un ottetto.

Una seconda ondata di miglioramenti si basa sul campionamento dell'importanza basato sul disco (Arnold) che ora è l'approccio di fatto per molte implementazioni SSS. Generalmente definiamo un volume di ricerca (sfera), distribuiamo campioni su disco sopra la superficie e sondiamo lungo direzioni normali e direzioni ortogonali per trovare tutti i colpi all'interno del volume.

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.