Ce este o cameră OpenGL®?

„Camera OpenGL®” este numele dat poziției virtuale a unui vizualizator într-o scenă Open Graphics Library® (OpenGL®). Este definită de poziția privitorului în cadrul scenei și apoi de locația sau direcția în care privește privitorul. Poziția camerei într-o scenă OpenGL® va determina ce porțiune a unei scene va fi redată pe dispozitivul de afișare și în ce unghi. Două matrice sunt utilizate pentru a descrie o cameră OpenGL®: matricea modelview și matricea de proiecție, care descriu poziția camerei și, respectiv, modul în care sunt redate obiectele la care se uită. O cameră poate fi mutată într-o scenă pentru a afișa diferite zone sau pentru a simula mișcarea, deși în multe cazuri este mai ușor sau mai eficient să mutați obiectele dintr-o scenă în locul camerei.

Când învață OpenGL®, unor programatori le este greu să înțeleagă proprietățile relativ abstracte ale unei camere OpenGL®. Acest lucru se datorează în mare parte faptului că unele transformări și alte funcții nu funcționează în același mod pe o cameră ca și pe un obiect standard OpenGL®. În plus, operațiunile complexe cu o cameră OpenGL® necesită, de obicei, competențe cu matematica matriceală și o înțelegere a conductei de transformare OpenGL®. Există câteva funcții comode în suportul bibliotecilor OpenGL®, deși poate fi dificil să te bazezi doar pe seturile de instrumente de asistență în aplicații mai interactive.

Poziția unei camere OpenGL® este definită folosind matricea modelview. Camera poate fi poziționată oriunde în cadrul unei scene și translatată sau rotită de-a lungul oricărei axe. În multe aplicații, în special în aplicațiile care conțin doar o mână de obiecte, poate fi mai ușor să aplicați transformări inverse obiectelor dintr-o scenă pentru a da aspectul de mișcare. În esență, întreaga scenă se mișcă în jurul unei camere statice în acest caz. Pentru scene mai mari, poate fi mai ușor să faceți față complexității conductei și matematicii matricei pentru a mișca liber camera, lăsând scena statică.

Atributele unei camere OpenGL® sunt controlate de matricea de proiecție. Pentru a utiliza analogia camerei, matricea de proiecție poate fi considerată ca tipul de obiectiv utilizat. Matricea de proiecție este modificată frecvent pentru a face proiecții ortografice, care nu au ajustare a perspectivei și proiecții în perspectivă care țin cont de distanță în determinarea dimensiunii obiectelor. Alte efecte, cum ar fi o lentilă ochi de pește, distanța focală sau diferite rapoarte de aspect, toate pot fi setate prin utilizarea matricei de proiecție.