3D Graphics Programming (6op)
Opintojakson tunnus: LUD2046
Opintojakson perustiedot
- Laajuus
- 6 op
- Opetuskieli
- englanti
- Vastuuhenkilö
- Anssi Gröhn, Vastuuopettaja
Osaamistavoitteet
Ymmärrät mitä 3d-renderöinti on.
Ymmärrät mikä grafiikkaliukuhihna on
Ymmärrät miten grafiikkaliukuhihna toimii
Ymmärrät mitä verteksit ovat
Ymmärrät mitä varjostimet ovat
Ymmärrät näyttämön käsitteen
Ymmärrät mikä näyttämögraafi on
Ymmärrät mitä primitiivejä käytetään 3d-grafiikan piirtämiseen
Ymmärrät mikä OpenGL on
Ymmärrät mikä OpenGLES on
Ymmärrät mikä WebGL on
Ymmärrät mikä Three.js on
Ymmärrät kuinka 3D-grafiikkaa animoidaan
Ymmärrät mikä luurankoanimointi on
Ymmärrät mitä tekstuurit ovat
Ymmärrät mitä matriisit ovat
Ymmärrät mitä vektorit ovat
Ymmärrät mitä transformaatiot ovat
Osaat säätää kehitysympäristösi
Osaat kehittää ohjelman kehitysympäristössä
Osaat renderöidä kolmiolistoja, -nauhoja ja -viuhkoja
Osaat renderöidä viivalistoja, -nauhoja ja -silmukoita.
Osaat renderöidä pistespritejä
Osaat hyödyntää verteksipuskureiden sisältöä peräkkäisjärjestyksessä
Osaat hyödyntää hyödyntää verteksipuskureiden sisältöä mielivaltaisessa järjestyksessä
Osaat kirjoittaa GLSL verteksivarjostimia
Osaat kirjoittaa GLSL fragmenttivarjostimia
Osaat muodostaa GLSL varjostinohjelmia
Osaat selittää kuinka varjostimet toimivat WebGL:ssä
Osaat välittää uniform-parametrin GLSL-varjostimelle.
Osaat välittää verteksiattribuutteja GLSL-varjostimille.
Osaat määritellä varying-muuttujia GLSL-kielellä
Osaat hyödyntää varying-muuttujia GLSL-kielellä
Osaat määritellä uniform-parametreja GLSL-kielellä.
Osaat hyödyntää uniform-parametreja GLSL-kielellä.
Osaat kirjoittaa funktioita GLSL-kielellä
Ymmärrät mitä tekstuurit ovat
Osaat määritellä tekstuurikoordinaatteja vertekseille WebGL:llä
Osaat määritellä tekstuurit renderöidyille primitiiveille WebGL:llä
Osaat käyttää tekstuureita Three.js-objekteissa
Osaat kirjottaa GLSL-varjostimia jotka käyttävät tekstuureja
Ymmärrät mitä hierarkiset transformaatiot ovat
Ymmärrät miten kamera-analogia toimii
Ymmärrät kuinka tranformaatiot toimivat
Ymmärrät transformaatio-järjestyksen tärkeyden
Ymmärrät mikä "gimbal lock" on
Ymmärrät kvaternioiden käyttämisen edut
Osaat kirjoittaa koodin joka lataa 3D-mallin Three.js-kirjastoa hyödyntäen
Osaat muodostaa monimutkaisia objekti-hierarkioita koodissa
Tiedät mitä Gouraud ja Blinn-Phong valaistusmallit ovat
Tiedät mitä valotyyppejä on olemassa OpenGL ES:ssä
Tiedät miksi pintanormaalivektori on tärkeä
Osaat laskea pintanormaalivektorin
Osaat luoda verteksikohtaisen valaistuksen toteuttavan varjostimen
Osaat luoda pikselikohtaisen valaistuksen toteuttavan varjostimen
Osaat kirjoittaa valaistusalgoritmin spottivalolle.
Osaat kirjoittaa valaistusalgoritmin pistevalolle.
Osaat kirjoittaa valaistusalgoritmin suunnatulle valolle.
Osaat määritellä materiaalien ominaisuuksia Three.js-kirjastoa hyödyntäen
Osaat välittää materiaalien ominaisuuksia varjostimille.
Osaat välittää valojen ominaisuuksia varjostimille.
Sisältö
3D-grafiikasta ja OpenGL:stä
Varjostimet ja grafiikkaliukuhihna
Tekstuurit
Esitettävien objektien hallinta
Valaistus ja materiaalit
Tekstuuri- ja partikkeliefektit.