Tiedot ja toiminnallisuudet
Julkaistu
(Päivitetty )
Metropolia Ammattikorkeakoulu
Introduction to Cross Platform Graphics Programming Abstraction With Vulkan and OpenGL ES
Opintojakso perehdyttää alustariippumattomaan grafiikkaohjelmointiin Vulkan- ja OpenGL ES -rajapintojen avulla sekä grafiikkamoottoreiden keskeisiin periaatteisiin.
5 op
Grafiikkaohjelmointi eri grafiikka-APIen avulla toimii melko eri tavoin. Osa grafiikka-APIeista on alustariippumattomia, mutta osa ei ole, ja useille alustoille suunnatun sovelluksen täytyy mahdollisesti tukea useita eri APIeja. Aloittelijalle voi olla hieman hämmentävää muodostaa selkeä kokonaiskuva siitä, miten useita grafiikka-APIeja voitaisiin hyödyntää alustariippumattomassa sovelluskehityksessä.
Opintojakson aikana kehitämme yksinkertaisen C++-sovelluksen työpöytä- ja web-ympäristöihin, joka piirtää näytölle yksinkertaisen kolmion. Tätä voidaan pitää grafiikkaohjelmoinnin ”Hello World” -sovelluksena. Työpöytäympäristössä käytämme Vulkania. Vulkan on hyvin matalan tason API, ja se vaatii kehittäjältä melko paljon myös suhteellisen yksinkertaisessa käytössä. Tästä huolimatta Vulkan API:n aiempaa tuntemusta ei vaadita tällä opintojaksolla. Web-toteutusta varten käännämme koodin WebAssemblyksi Emscripten SDK:n avulla, joka muuntaa myös OpenGL ES -koodin WebGL:ksi.
Opintojakson tavoitteena on antaa johdatus siihen, miten grafiikka-API-kohtainen koodi voitaisiin abstrahoida siten, että samaa renderöintilogiikkaa voidaan käyttää useilla alustoilla. Opintojakson painopiste ei ole edellä mainituissa APIeissa vaan APIen yhteisissä grafiikkaohjelmoinnin käsitteissä. Sinulla ei välttämättä tarvitse olla aiempaa tuntemusta Vulkanista tai OpenGL ES:stä, ja näihin liittyvä koodi selitetään.
Sisältää
Tarkista sinulta vaadittavat suoritukset oppilaitoksen sivuilta.
Ei aktiivisia toteutuksia tällä hetkellä.
Lisätiedot ja ilmoittautuminen
- Hinta ja ilmoittautumisaika
Tarkista tieto korkeakoulun sivuilta
Tarkentavat tiedot:
Koulutusalat
Tietojenkäsittely ja tietoliikenne
Laajuus
5 op
Koodi
TT00GN82