zaterdag 11 oktober 2008

Paper: Ray tracing deformable scenes using dynamic bounding volume hierarchies

Vandaag een beetje tijd gehad om een paper te lezen. Het is de paper "Ray tracing deformable scenes using dynamic bounding volume hierarchies" geworden wederom van onze goede vriend Ingo Wald.

De paper beschrijft eerst een algoritme om BVH's (Bounding Volume Hierarchies) op te bouwen volgens de "surface area heuristic" (SAH). Tot op vandaag is dit nog altijd de beste heuristiek om een versnellingsstructuur mee te bouwen. De auteurs geven ook een tabel met rendertijden voor BVH's gebouwd met de object median, de spatial median en de SAH. De eerste 2 zitten ook al in mijn eigen implementatie. De auteurs kunnen met de spatial median (ook median split genoemd) een scene renderen van 804 driehoeken in 0.7 seconden. Dit is ongeveer vergelijkbaar met mijn torus (1024 driehoeken) die ik render in 10 seconden, mijn ray tracer is dus een factor 14 trager.

De grote snelheidswinst is grotendeels te wijten aan het gebruik van ray packets. In ray packets worden rays gebundeld en worden die bundels in de scene getraced. Het is duurder om een packet door een scene te tracen dan een enkele straal maar we kunnen die duurdere kost wel spreiden over verschillende stralen. Dus de kost per straal is goedkoper.

Om met dynamische scenes rekening te houden worden de bounding boxes telkens vervormd, de bounding volume hierarchy blijft hetzelfde. Hoewel de kwaliteit van de BVH verslechterd per update is de performantieimpact niet veel slechter.

Deze paper is vooral nuttig om zijn techniek om rays sneller door een BVH te tracen en om zijn rendertijden. Nu heb ik een paar richtwaarden om de performantie van mijn ray tracer mee te evalueren.

Geen opmerkingen: