Physically Based Rendering : Implementation of Path Tracer
Truong, Vinh (2015)
Truong, Vinh
Metropolia Ammattikorkeakoulu
2015
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201505127704
https://urn.fi/URN:NBN:fi:amk-201505127704
Tiivistelmä
Insinöörityön pääaiheena on toteuttaa tietokoneohjelma joka simuloi fysiikan lakeja fotorealistisien kuvien piirtämiseen. Käytännössä ohjelma yrittää löytää kaikki mahdolliset polut joita valonsäde voi matkustaa ja kokoaa kuvan näistä poluista. Työssä esitetty tekniikka simuloi luonnollisesti monia fyysisiä ilmiöitä esimeriksi heijastukset, lasimateriaalit, pehmeät varjot, epäsuoravalaistus jne.
Työssä selitetään vaihe vaiheelta kuinka kuvan yksittäinen pikseli saa värinsä seuraamalla valonsädettä mielivaltaisen skenen läpi. Työssä käydään myös läpi kuinka renderointia voidaan nopeuttaa optimoimalla tiettyjä tietorakenteita ja hyödyntämällä rinnakkaislaskentaa prosessorilla sekä näytönohjaimella käyttämällä OpenCL-rajapintaa. Näillä tekniikoilla on mahdollista lyhentää renderointiin kuluvaa aikaa useista päivistä muutamiin minuutteihin.
Työssä käydään läpi teoriaa path tracing -algoritmista, ohjelman arkkitehtuuri ja sen toteutuksen yksityiskohdista. Lopuksi esitetään erilaisia kuvia joita ohjelma pystyy tuottamaan ja pohdintaa kuinka ohjelmaa pystyy kehittämään tulevaisuudessa.
Työssä selitetään vaihe vaiheelta kuinka kuvan yksittäinen pikseli saa värinsä seuraamalla valonsädettä mielivaltaisen skenen läpi. Työssä käydään myös läpi kuinka renderointia voidaan nopeuttaa optimoimalla tiettyjä tietorakenteita ja hyödyntämällä rinnakkaislaskentaa prosessorilla sekä näytönohjaimella käyttämällä OpenCL-rajapintaa. Näillä tekniikoilla on mahdollista lyhentää renderointiin kuluvaa aikaa useista päivistä muutamiin minuutteihin.
Työssä käydään läpi teoriaa path tracing -algoritmista, ohjelman arkkitehtuuri ja sen toteutuksen yksityiskohdista. Lopuksi esitetään erilaisia kuvia joita ohjelma pystyy tuottamaan ja pohdintaa kuinka ohjelmaa pystyy kehittämään tulevaisuudessa.