3D-grafiikkamoottorin toteutus
Seppä, Anssi (2018)
Seppä, Anssi
Metropolia Ammattikorkeakoulu
2018
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201805117767
https://urn.fi/URN:NBN:fi:amk-201805117767
Tiivistelmä
Insinöörityön tavoitteena oli toteuttaa reaaliaikaista kolmiulotteista tietokonegrafiikkaa piirtävä grafiikkamoottori. Grafiikkamoottorin oli tuettava erilaisia kolmiulotteisuutta ja realistisuutta korostavia tekniikoita.
Työn alussa käydään läpi kolmiulotteisen tietokonegrafiikan piirtämisen perusteita ja toteutetun grafiikkamoottorin grafiikkarajapinnaksi valitun OpenGL:n toimintaa ja käyttöä. Grafiikkamoottorin toteutuksessa käytettiin OpenGL-rajapinnan modernia versiota, jossa piirtäminen tapahtuu varjostinohjelmilla. Alun jälkeen avataan tarkemmin grafiikkamoottorin käsitettä. Lopussa esitellään tehdyn grafiikkamoottorin rakennetta ja toteutettuja tekniikoita, kuten valaistusta ja teksturointia.
Insinöörityön lopputuloksena luotu grafiikkamoottori kykeni piirtämään moniosaisia kolmiulotteisia virtuaalimaailmoja. Moottoriin lisättiin tuki tekstuuri- ja normaalikuvaukselle sekä valaistukselle. Valaistukseen toteutettiin erityyppisiä valoja, joiden avulla voitiin jäljitellä reaalimaailmassa nähtäviä erilaisia valonlähteitä. Valaistuksen piirtoa tehostettiin viivästetyllä piirrolla.
Työn alussa käydään läpi kolmiulotteisen tietokonegrafiikan piirtämisen perusteita ja toteutetun grafiikkamoottorin grafiikkarajapinnaksi valitun OpenGL:n toimintaa ja käyttöä. Grafiikkamoottorin toteutuksessa käytettiin OpenGL-rajapinnan modernia versiota, jossa piirtäminen tapahtuu varjostinohjelmilla. Alun jälkeen avataan tarkemmin grafiikkamoottorin käsitettä. Lopussa esitellään tehdyn grafiikkamoottorin rakennetta ja toteutettuja tekniikoita, kuten valaistusta ja teksturointia.
Insinöörityön lopputuloksena luotu grafiikkamoottori kykeni piirtämään moniosaisia kolmiulotteisia virtuaalimaailmoja. Moottoriin lisättiin tuki tekstuuri- ja normaalikuvaukselle sekä valaistukselle. Valaistukseen toteutettiin erityyppisiä valoja, joiden avulla voitiin jäljitellä reaalimaailmassa nähtäviä erilaisia valonlähteitä. Valaistuksen piirtoa tehostettiin viivästetyllä piirrolla.