Kahden reaaliaikaisessa renderoinnissa käytetyn varjokarttatekniikan toteutus ja vertailu
Heinonen, Antti (2018)
Heinonen, Antti
2018
Tietotekniikka
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2018-03-07
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201802201253
https://urn.fi/URN:NBN:fi:tty-201802201253
Tiivistelmä
Tässä työssä käydään läpi rinnakkaisjaetun-varjokarttatekniikan ja suoralinjaisesti väännätetyn varjokarttatekniikan toteutus. Varjokartan avulla voidaan luoda virtuaaliympäristöön varjot kolmiulotteisille geometrisille objekteille. Työn tarkoitus on vertailla tekniikoiden tehokkuutta, muistinkulutusta, sekä toteutuksien eroja ja kompleksisuutta. Aluksi käsitellään reaaliaikaisen renderoinnin määritelmä, sekä esitellään grafiikan renderoinnissa käytetty OpenGL-rajapinta. Tämän jälkeen esitellään varjokartan toiminnallisuutta ja esitellään työssä käytetyt varjokarttatekniikat. Varjokarttatekniikoiden tehokkuuserojen ja toteutuksien kompleksisuuden mittaamista varten käytetään testiohjelmaa, jonka toteutusta käydään läpi. Lopuksi esitellään tulokset ja yhteenveto.
Tehokkuuden mittarina käytetään ruudun piirtoaikaa, eli kuinka kauan lopputuloksen renderointi näytölle kestää kokonaisuudessaan. Muistinkulutus mitataan staattisesti, koska varjokarttatekniikoiden vaatimat resurssit ovat etukäteen tiedossa. Kompleksisuus mitataan tiedostomäärinä, sekä ohjelmakoodirivien lukumääränä.
Tuloksista huomataan, että rinnakkaisjaetun-varjokarttatekniikan toteutus on yksinkertaisempi, mutta sen tehokkuus on huonompi ja muistinkulutus on suurempi verrattuna suoralinjaisesti väännätettyyn varjokarttatekniikkaan.
Tehokkuuden mittarina käytetään ruudun piirtoaikaa, eli kuinka kauan lopputuloksen renderointi näytölle kestää kokonaisuudessaan. Muistinkulutus mitataan staattisesti, koska varjokarttatekniikoiden vaatimat resurssit ovat etukäteen tiedossa. Kompleksisuus mitataan tiedostomäärinä, sekä ohjelmakoodirivien lukumääränä.
Tuloksista huomataan, että rinnakkaisjaetun-varjokarttatekniikan toteutus on yksinkertaisempi, mutta sen tehokkuus on huonompi ja muistinkulutus on suurempi verrattuna suoralinjaisesti väännätettyyn varjokarttatekniikkaan.
Kokoelmat
- Kandidaatintutkielmat [8452]