Nel suo articolo classico Ray Tracing with Cones , John Amanatides descrive una variazione sul ray tracing classico. Estendendo il concetto di un raggio di un angolo di apertura , rendendolo un cono, è possibile ridurre gli effetti di aliasing (compresi quelli che provengono da troppi campioni di Monte Carlo).
Durante l'intersezione triangolo-cono, viene calcolato un valore di copertura scalare. Questo valore rappresenta la frazione del cono coperta dal triangolo. Se è inferiore a , significa che il triangolo non copre completamente il cono. Sono necessari ulteriori test. Senza l'uso di tecniche più avanzate, tuttavia, sappiamo solo quanto del cono è coperto, ma non quali parti.
Amanatides afferma:
Dal momento che al momento viene utilizzato solo il valore di copertura frazionata per mescolare i contributi dei vari oggetti, le superfici sovrapposte verranno calcolate correttamente ma le superfici adiacenti no.
Questo non ha senso per me. Dal mio punto di vista è il contrario. Facciamo un esempio: abbiamo due triangoli vicini , uno verde e uno blu, ognuno dei quali copre esattamente il 50% del nostro cono. Sono alla stessa distanza dallo spettatore.
Il triangolo verde viene testato per primo. Ha un valore di copertura di 0,5, quindi il triangolo blu verrà testato successivamente. Con il valore di copertura del blu di 0,5 il nostro cono è completamente coperto, quindi abbiamo finito e finiamo con una miscela verde-blu 50:50. Grande!
Ora immagina di uccidere il triangolo blu e di aggiungerne uno rosso a una certa distanza dietro quello verde - sovrapposto . Greeny ci fornisce nuovamente un valore di copertura di 0,5. Dal momento che non abbiamo più quello blu da testare, guardiamo più in basso nel cono e presto troviamo quello rosso. Anche questo restituisce un valore di copertura maggiore di 0, cosa che non dovrebbe perché è dietro a quello verde.
Quindi, da ciò, concludo che i triangoli adiacenti funzionano bene, mentre i triangoli sovrapposti avrebbero bisogno di un po 'più di magia come le maschere di copertura per essere corretti. Questo è l'opposto di ciò che dice Amanatides. Ho frainteso qualcosa o è un errore sul foglio?