Hyppää sisältöön
    • Suomeksi
    • På svenska
    • In English
  • Suomi
  • Svenska
  • English
  • Kirjaudu
Hakuohjeet
JavaScript is disabled for your browser. Some features of this site may not work without it.
Näytä viite 
  •   Ammattikorkeakoulut
  • Metropolia Ammattikorkeakoulu
  • Opinnäytetyöt
  • Näytä viite
  •   Ammattikorkeakoulut
  • Metropolia Ammattikorkeakoulu
  • Opinnäytetyöt
  • Näytä viite

Säteenseurantarenderöijän toteutus C++ -ohjelmointikielellä

Saarinen, Oula (2025)

 
Avaa tiedosto
Saarinen_Oula.pdf (2.248Mt)
Lataukset: 


Saarinen, Oula
2025
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025070223583
Tiivistelmä
Säteenseuranta on noussut merkittäväksi tekijäksi elokuva-alalla ja 3D-grafiikassa. Se on noussut esille myös peleissä grafiikkaprosessorien kehityksen myötä. Säteenseurannalla pystytään luomaan hyvin todellisen näköisiä kuvia ja se kykenee simuloimaan useita valon efektejä, jotka ovat olleet vaikeata tuottaa tarkasti aiemmin käytetyillä rasterimenetelmillä.

Insinöörityössä oli tarkoitus tutkia säteenseurantarenderöijän toimintaa ja ymmärtää renderöinnissä käytetyn säteenseuranta-algoritmin toiminta. Työssä tutustuttiin myös eri menetelmiin, joiden avulla säteenseurantaa voidaan nopeuttaa tai kehittää eteenpäin.

Insinöörityön renderöijä toteutettiin C++-ohjelmointikielellä ja toteutuksessa pyrittiin käyttää mahdollisimman vähän ulkoisia kirjastoja. Renderöijä toteutettiin useassa vaiheessa, jossa rakennettiin uusia ominaisuuksia tai parannuksia edellisten päälle. Vaiheiden välissä keskityttiin siistimään ohjelman rakennetta.

Renderöijän toteutus onnistui ja tuotettu säteenseurantarenderöijä pystyi simuloimaan suoran ja epäsuoran valon vaikutusta ja tuottamaan hyvännäköisiä kuvia. Renderöijää kuitenkin voisi parantaa monelta osin. Erityisesti kehittyneempiä materiaalimalleja tulisi lisätä, jotta voitaisiin renderöidä monipuolisempia näkymiä.
 
Ray tracing has become the main method for rendering in film industry as well as other computer graphics. As graphics processors have grown more powerful games have also started to adopt ray tracing methods. Ray tracing can produce highly realistic images, and it can simulate the effects of global illumination which has been a challenge for raster-based methods.

The goal of this project was to examine how ray tracing rendering functions and understand how the ray tracing algorithm works. Ways of speeding up the rendering process as well as ways further developing the ray trace renderer were explored during the development of the project.

The renderer was developed using C++ with the goal of writing as much of it as possible without the use of external libraries. The project was developed in several phases in which features and improvements were built upon the earlier work. In between the phases the architecture was revised and rewritten as seen fit.

Development of the renderer was a success, and it produces interesting and high-quality pictures that show the effects of global illumination. Still the renderer could be developed further. Adding more sophisticated material models would be especially beneficial so the renderer could render more complex scenes.
 
Kokoelmat
  • Opinnäytetyöt
Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste
 

Selaa kokoelmaa

NimekkeetTekijätJulkaisuajatKoulutusalatAsiasanatUusimmatKokoelmat

Henkilökunnalle

Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste