In che modo tutti contano i "Raggi al secondo"?


8

Di recente sto sviluppando un tracciatore di percorsi Monte-Carlo. Per misurare le prestazioni del mio tracciante, ho deciso di implementare un semplice meccanismo per contare quanti raggi può tracciare in un secondo. Quindi ecco che arriva il problema, ci sono due modi per definire un singolo raggio:

  1. Un raggio completo, cioè partendo dalla telecamera e rimbalzando intorno alla scena fino al termine.

  2. Il raggio ha origine da ciascun punto di intersezione.

Sebbene molte persone utilizzino "Raggi al secondo" per misurare le prestazioni del raggio / tracciatore, non mi è chiaro come riconoscano i "raggi". Qualcuno forse lo sa?


1
Ho visto entrambi, sfortunatamente. Non sono affezionato al raggio al secondo, che significa esclusivamente raggi primari e suggerirei invece "percorsi al secondo" o "campioni al secondo". "Raggio completo" non è un nome che troverai altrove: un raggio è un segmento di linea illimitato. "Raggi al secondo" non è specificato per un tracciatore di percorsi: contano i raggi d'ombra, per esempio? È una metrica utile per un framework di accelerazione (ovvero Embree o OptiX) ma non un renderer.
Karl Schmidt,

Inoltre, tieni presente che i campioni al secondo non sono ancora una grande metrica delle prestazioni effettive poiché la qualità dei campioni varia notevolmente a seconda dei dettagli di implementazione. Tuttavia, è probabilmente la cosa migliore che puoi fare fin dall'inizio, poiché le soluzioni migliori prevedono stime di varianza piuttosto complesse.
Karl Schmidt,

@KarlSchmidt Penso che dovresti pubblicare questi commenti come risposta;)
Nathan Reed

Probabilmente una buona idea, sì. :)
Karl Schmidt,

Risposte:


4

Ho visto entrambi, sfortunatamente. Non mi piacciono i raggi al secondo come significato esclusivamente raggi primari e suggerirei invece "percorsi al secondo" o meglio "campioni al secondo". "Raggio completo" non è un termine comune: un raggio è un segmento di linea (potenzialmente illimitato) e una sequenza di raggi è un percorso.

I raggi al secondo nel tuo secondo senso del cast totale dei raggi non sono ben specificati per un tracciatore di percorsi: contano i raggi d'ombra, per esempio? È una metrica utile per valutare una struttura di accelerazione o un framework di test di intersezione (ovvero Embree o OptiX) ma la eviterei per un renderer.

Infine, tieni presente che i campioni al secondo non sono ancora una grande metrica delle prestazioni effettive poiché la qualità dei campioni varia notevolmente a seconda dei dettagli di implementazione. Tuttavia, è probabilmente la cosa migliore che puoi fare fin dall'inizio, poiché le soluzioni migliori prevedono stime di varianza piuttosto complesse.


Bella risposta. Per aggiungere ad esso, dal momento che è difficile trovare una metrica universalmente significativa, ti suggerirei di sceglierne uno che abbia più senso / sia più onesto per il tuo caso d'uso, e assicurati di spiegare cosa intendi con il tuo terminologia.
Alan Wolfe,

Sì, grazie per avermi chiarito i pensieri! Attualmente scelgo i "campioni al secondo" poiché è facile da capire e difficile da capire IMO. Alla fine implementerò qualcosa che può calcolare la varianza e misurare le prestazioni di rendering basate su quello.
D01phiN,
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.