Kd-fával gyorsított sugárkövetés

OData támogatás
Konzulens:
Dr. Szirmay-Kalos László
Irányítástechnika és Informatika Tanszék

A sugárkövetés egy fizikai modellen alapuló kép renderelési technika, aminek az alapötlete, hogy a kamerába bejövő fénysugarak útját leköveti visszafelé, és így kiszámolható a színe.

A jelenetek háromszögekből álló modellekből épülnek föl, így a legfontosabb teljesítmény szempontjából kritikus része az programnak, az annak a háromszögnek a megtalálása, amit a sugár először metsz. A naiv algoritmus, ami végig megy mindegy háromszögön, és kiszámolja az ütközést nagyon lassú, hiszen a számítási igénye a háromszögek, a pixelek és a fényforrások számának szorzatával arányos. Erre a megoldás egy térpartícionáló algoritmus, a KD-fa, amivel hatékonyan el lehet dönteni háromszögek csoportjáról, hogy lehetséges-e ütközés vagy nem. Az algoritmus lényegében a háromszögeket dobozokba rakja, és csak azokkal a háromszögekkel számolja ki az ütközést, amiknek a dobozát elmetszi, így jelentősen gyorsabban lehet kiszámolni az első ütközést.

A programban textúrázott modelleket lesz képes beolvasni, majd kirenderelni képként, különböző modern grafikai programokban megszokott algoritmus felhasználásával, mint normal map, super sampling, mip map stb.

A sugárkövetés jól párhuzamosítható, az adatstruktúrát egyszer kell létrehozni, onnantól minden sugár egymástól függetlenül lekövethető. Ezért megpróbálom a programot CUDA platformra is implementálni, és így kihasználni a grafikus kártyák által nyújtott számításikapacitást.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.