Kaj je kamera OpenGL®?

»OpenGL® kamera« je ime, ki je dano navideznemu položaju gledalca znotraj scene Open Graphics Library® (OpenGL®). Opredeljuje ga položaj gledalca znotraj scene, nato pa lokacija ali smer, v katero gledalec gleda. Položaj kamere v prizoru OpenGL® bo določil, kateri del scene bo upodobljen v prikazovalno napravo in pod kakšnim kotom. Za opis kamere OpenGL® se uporabljata dve matriki: matrika pogleda modela in matrika projekcije, ki opisujeta položaj kamere in način, kako so upodobljeni predmeti, v katere gleda. Kamero je mogoče premikati znotraj scene, da prikaže različna področja ali simulira gibanje, čeprav je v mnogih primerih lažje ali učinkoviteje premikati predmete v sceni namesto kamere.

Nekateri programerji pri učenju OpenGL® težko razumejo relativno abstraktne lastnosti kamere OpenGL®. To je predvsem zato, ker nekatere transformacije in druge funkcije na fotoaparatu ne delujejo na enak način kot na standardnem objektu OpenGL®. Poleg tega zapletene operacije s kamero OpenGL® običajno zahtevajo znanje matrične matematike in razumevanje cevovoda transformacije OpenGL®. Pri podpori knjižnic OpenGL® obstaja nekaj priročnih funkcij, čeprav se je v bolj interaktivnih aplikacijah težko zanesti samo na podporne komplete orodij.

Položaj kamere OpenGL® je definiran z matriko pogleda modela. Kamero je mogoče postaviti kamor koli znotraj scene in jo prevesti ali zasukati vzdolž katere koli osi. V mnogih aplikacijah, predvsem v aplikacijah, ki vsebujejo le nekaj predmetov, je lahko lažje uporabiti inverzne transformacije za predmete v prizoru, da dajo videz gibanja. V bistvu se v tem primeru celotna scena premika okoli statične kamere. Pri večjih prizorih se je lažje spopasti s kompleksnostjo cevovoda in matematike matrik, da prosto premikate kamero, pri čemer ostane prizor statičen.

Atribute kamere OpenGL® nadzoruje projekcijska matrika. Če uporabimo analogijo s kamero, lahko projekcijsko matrico razumemo kot vrsto uporabljenega objektiva. Projekcijska matrika se pogosto spreminja za izdelavo ortografskih projekcij, ki nimajo prilagajanja perspektive, in perspektivnih projekcij, ki upoštevajo razdaljo pri določanju velikosti predmetov. Druge učinke, kot so leča ribje oko, goriščna razdalja ali različna razmerja stranic, je mogoče nastaviti z uporabo projekcijske matrike.