3D-renderöinti OpenGL-ohjelmointirajapinnalla

3D-tietokonegrafiikalla on lukuisia käyttökohteita esimerkiksi mallintamises- sa, animaatioissa ja peleissä. Vähänkään vaativampi 3D-renderöinti suoritetaan yleensä näy- tönohjaimen avulla. Tässä tutkielmassa selvitetään, miten 3D-renderöinti tapahtuu käyttäen Open Graphics Library -rajapintaa. Mode...

Full description

Bibliographic Details
Main Author: Kemppainen, Mikko
Other Authors: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, University of Jyväskylä, Jyväskylän yliopisto
Format: Bachelor's thesis
Language:fin
Published: 2017
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/54183
Description
Summary:3D-tietokonegrafiikalla on lukuisia käyttökohteita esimerkiksi mallintamises- sa, animaatioissa ja peleissä. Vähänkään vaativampi 3D-renderöinti suoritetaan yleensä näy- tönohjaimen avulla. Tässä tutkielmassa selvitetään, miten 3D-renderöinti tapahtuu käyttäen Open Graphics Library -rajapintaa. Moderneissa OpenGL:n versioissa grafiikkaa ohjelmoi- daan niin kutsuttujen varjostinohjelmien avulla. Tässä tutkielmassa esitellään varjostimien ohjelmoinnin periaatteet ja niiden ohjelmointiin käytettävän ohjelmointikielen OpenGL Sha- ding Languagen käyttö. Tutkielma on toteutettu kirjallisuuskatsauksena ja lähteinä on käy- tetty pääasiassa konferenssijulkaisuja ja varsinkin OpenGL:n kotisivuilla suositeltuja kirjoja. 3D-graphics have numerous uses, such as in modeling, animation and games. All demanding graphics prosessing is usually done with a dedicated graphics processing unit. In this thesis we will find out how 3D rendering works using Open Graphics Library. Modern OpenGL versions use programmable shaders for graphics programming. In this thesis we will introduce the fundamentals of shader programming and the use of OpenGL Shading Language that is used for programming them. This thesis is conducted as a literary review that mostly uses conference publications and particularly books recommended on the home page of OpenGL.