OpenGL Rendering Pipeline
Laaksonen, Jarno (2017)
Laaksonen, Jarno
Kajaanin ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201801111210
https://urn.fi/URN:NBN:fi:amk-201801111210
Tiivistelmä
Tämä opinnäytteen aihe oli valittu aikomuksella opiskella tekniseksi artistiksi. Opinnäytteen tavoite on etsiä ja oppia lisää OpenGL:n renderöinti prosessista ja kuinka jokainen vaihe toimii yleisessä käytössä. Opinnäyte käy läpi jokaisen vaiheen renderöinnistä ja selittää kuinka haluttu malli data käydään läpi ja muunnetaan pikseleiksi. Tässä projektissa käytetty moottori on itsekirjoitettu ja pystyy lataamaan ja käyttämään visuaalista dataa oikein renderöimällä ne monitorille
Renderöinti prosessi viittaa pelimoottorien graafiseen toiminnallisuuteen jossa se lukee mallin sijainnin ja visuaalisen datan ja muuntamaan sen pikseleiksi ruudulle. Tämä prosessi on relatiivisesti sama kaikilla moottoreilla ja siten yhden oppiminen antaa ohjelmoijalle tietoa kaikista. Kuka tahansa joka työskentelee renderöinnin ja varjostimien kanssa, täytyy tietää jokainen vaihe läpikotaisin, jotta pystyy tuottamaan halutun efektin. Suuri osa prosessista on automaattisia, mutta niiden tunteminen on silti tärkeää siltä varalta, että jotain epäsuorasti menee pieleen.
OpenGL osoittaa olevansa hyvä alusta oppimiselle ja antaa suuren määrän erilaisia sovelluksia visuaalisille efekteille. Tämän lisäksi OpenGL:n yhteisö tarjoaa kaiken kattavia kursseja ja julkaistuja kirjoja sen käytöstä, voi tehdä kenestä vain ammattilaisen graafisen puolen pelikehityksestä. The objective of this thesis was done with the intent of learning and studying for the job of a technical artist. The main objective was to find more information about OpenGLs rendering pipeline and how it processes through model data. It covers each step and explains their functions and how they are used by the programmer. The engine used during this thesis was written from scratch and is able load most model data types and implement their rendering with wanted written shaders.
Rendering pipeline refers to a game engines graphical process for reading model position and mesh data and turning it into pixels for the display. The pipeline process is relatively same for all game engines and thus learning one, allows you to learn all of them. For anyone working with the said pipeline and it’s shaders, needs to know each step well to figure out how to achieve wanted effects. A lot of these steps are automated and out of programmers control, however knowledge of them is still required in case of indirect problems in the process.
OpenGL proves as an excellent learning tool and gives a great coverage of different applications for visual effects. This combined with community tutorials and multiple published books on the usage of it, it will make anyone a professional at using the graphical engine side of gameplay development.
Renderöinti prosessi viittaa pelimoottorien graafiseen toiminnallisuuteen jossa se lukee mallin sijainnin ja visuaalisen datan ja muuntamaan sen pikseleiksi ruudulle. Tämä prosessi on relatiivisesti sama kaikilla moottoreilla ja siten yhden oppiminen antaa ohjelmoijalle tietoa kaikista. Kuka tahansa joka työskentelee renderöinnin ja varjostimien kanssa, täytyy tietää jokainen vaihe läpikotaisin, jotta pystyy tuottamaan halutun efektin. Suuri osa prosessista on automaattisia, mutta niiden tunteminen on silti tärkeää siltä varalta, että jotain epäsuorasti menee pieleen.
OpenGL osoittaa olevansa hyvä alusta oppimiselle ja antaa suuren määrän erilaisia sovelluksia visuaalisille efekteille. Tämän lisäksi OpenGL:n yhteisö tarjoaa kaiken kattavia kursseja ja julkaistuja kirjoja sen käytöstä, voi tehdä kenestä vain ammattilaisen graafisen puolen pelikehityksestä.
Rendering pipeline refers to a game engines graphical process for reading model position and mesh data and turning it into pixels for the display. The pipeline process is relatively same for all game engines and thus learning one, allows you to learn all of them. For anyone working with the said pipeline and it’s shaders, needs to know each step well to figure out how to achieve wanted effects. A lot of these steps are automated and out of programmers control, however knowledge of them is still required in case of indirect problems in the process.
OpenGL proves as an excellent learning tool and gives a great coverage of different applications for visual effects. This combined with community tutorials and multiple published books on the usage of it, it will make anyone a professional at using the graphical engine side of gameplay development.