TL; DR
Sì, puoi farlo in questo modo, devi solo dividere il risultato per la probabilità di scegliere la direzione.
Risposta completa
L'argomento del campionamento nei tracciatori di tracciati che consentono materiali con riflessione e rifrazione è in realtà un po 'più complesso.
Cominciamo con uno sfondo prima. Se permetti i BSDF - non solo i BRDF - nel tuo tracciatore di percorsi, devi integrarti su tutta la sfera invece che sull'emisfero positivo. I campioni Monte Carlo possono essere generati da varie strategie: per l'illuminazione diretta è possibile utilizzare BSDF e campionamento della luce, per l'illuminazione indiretta l'unica strategia significativa di solito è il campionamento BSDF. Le stesse strategie di campionamento di solito contengono la decisione su quale emisfero campionare (ad esempio se viene calcolata la riflessione o la rifrazione).
Nella versione più semplice, il campionamento della luce di solito non tiene molto alla riflessione o alla rifrazione. Campiona le sorgenti luminose o la mappa ambientale (se presente) rispetto alle proprietà della luce. È possibile migliorare il campionamento delle mappe ambientali selezionando solo l'emisfero in cui il materiale ha un contributo diverso da zero, ma il resto delle proprietà del materiale viene generalmente ignorato. Si noti che per il materiale Fresnel perfettamente liscio e il campionamento leggero non funziona.
Per il campionamento BSDF, la situazione è molto più interessante. Il caso che hai descritto riguarda una superficie di Fresnel ideale, in cui ci sono solo due direzioni che contribuiscono (poiché Fresnel BSDF è in realtà solo una somma di due funzioni delta). È possibile dividere facilmente l'integrale in una somma di due parti: una riflessione e una per rifrazione. Poiché, come hai detto, non vogliamo andare in entrambe le direzioni in un tracciatore di percorsi, dobbiamo sceglierne uno. Ciò significa che vogliamo stimare la somma dei numeri selezionandone solo uno. Questo può essere fatto mediante una stima discreta di Monte Carlo: scegli uno dei componenti aggiuntivi in modo casuale e dividerlo per la probabilità che venga raccolto. Nel caso ideale si desidera che la probabilità di campionamento sia proporzionale agli addend, ma poiché non conosciamo i loro valori (non dovremmo stimare la somma se li conoscessimo), li stimiamo semplicemente trascurando alcuni dei fattori. In questo caso, ignoriamo la quantità di luce in entrata e utilizziamo solo la riflettanza / trasmittanza di Fresnel come nostre stime.
La routine di campionamento BSDF per il caso della superficie liscia di Fresnel è quindi quella di scegliere una delle direzioni in modo casuale con probabilità proporzionale alla riflettanza di Fresnel e, ad un certo punto, dividere il risultato per quella direzione per probabilità di scegliere la direzione. Lo stimatore sarà simile a:
Lio( ωio) F( θio)P(ωio)= Lio(ωio) F(θio)F(θio)= Lio(ωio)
ωio= ( ϕio, θio)Lio( ωio)F( θio)P( ωio)F( θio)
Nel caso di modelli BSDF più sofisticati come quelli basati sulla teoria del microfacet, il campionamento è leggermente più complesso, ma di solito si può applicare anche l'idea di suddividere l'intero integrale in una somma finita di sub-integrali e di utilizzare successivamente Monte Carlo discreto.