Što je OpenGL® kamera?

“OpenGL® kamera” je naziv koji se daje virtualnoj poziciji gledatelja unutar scene Open Graphics Library® (OpenGL®). Definira ga položaj gledatelja unutar scene, a zatim mjesto ili smjer u kojem gledatelj gleda. Položaj kamere u OpenGL® sceni odredit će koji će se dio scene prikazati na uređaju za prikaz i pod kojim kutom. Za opisivanje OpenGL® kamere koriste se dvije matrice: matrica prikaza modela i matrica projekcije, koje opisuju položaj kamere i način na koji se prikazuju objekti u koje ona gleda. Kamera se može pomicati unutar scene kako bi se prikazala različita područja ili simulirala kretanje, iako je u mnogim slučajevima lakše ili učinkovitije pomicati objekte u sceni umjesto kamere.

Kada uče OpenGL®, nekim programerima je teško razumjeti relativno apstraktna svojstva OpenGL® kamere. To je uglavnom zato što neke transformacije i druge funkcije ne rade na isti način na kameri kao na standardnom OpenGL® objektu. Osim toga, složene operacije s OpenGL® kamerom obično zahtijevaju poznavanje matrične matematike i razumijevanje OpenGL® transformacijskog cjevovoda. Postoje neke praktične funkcije u podršci OpenGL® knjižnicama, iako može biti teško osloniti se samo na skupove alata za podršku u interaktivnijim aplikacijama.

Položaj OpenGL® kamere definira se pomoću matrice prikaza modela. Kamera se može postaviti bilo gdje unutar scene i prevesti ili rotirati duž bilo koje osi. U mnogim aplikacijama, posebno aplikacijama koje sadrže samo nekoliko objekata, može biti lakše primijeniti inverzne transformacije na objekte unutar scene kako bi se dobio izgled pokreta. U biti, cijela se scena u ovom slučaju kreće oko statične kamere. Za veće scene može biti lakše nositi se sa složenošću cjevovoda i matematike matrice kako biste slobodno pomicali kameru, ostavljajući scenu statičnom.

Atributi OpenGL® kamere su kontrolirani projekcijskom matricom. Za korištenje analogije s kamerom, matrica projekcije može se smatrati vrstom leće koja se koristi. Matrica projekcije se često mijenja kako bi se napravile ortografske projekcije, koje nemaju prilagodbu perspektive, i projekcije perspektive koje uzimaju u obzir udaljenost pri određivanju veličine objekata. Drugi efekti, kao što su leća ribljeg oka, žarišna duljina ili različiti omjeri stranica, mogu se postaviti korištenjem projekcijske matrice.