Co to jest kamera OpenGL®?
„Kamera OpenGL®” to nazwa nadana wirtualnej pozycji przeglądarki w scenie Open Graphics Library® (OpenGL®). Jest to określone przez pozycję widza w scenie, a następnie położenie lub kierunek, w którym patrzy. Pozycja kamery w scenie OpenGL® określi, która część sceny zostanie wyrenderowana na urządzeniu wyświetlającym i pod jakim kątem. Dwie matryce są używane do opisywania kamery OpenGL®: matryca widoku modelu i matryca projekcji, które opisują odpowiednio pozycję kamery i sposób renderowania obiektów, na które patrzy. Kamerę można przesuwać w obrębie sceny, aby pokazywać różne obszary lub symulować ruch, chociaż w wielu przypadkach łatwiej lub wydajniej jest przesuwać obiekty w scenie zamiast kamery.
Podczas nauki OpenGL® niektórzy programiści mają trudności ze zrozumieniem względnie abstrakcyjnych właściwości kamery OpenGL®. Wynika to głównie z faktu, że niektóre transformacje i inne funkcje nie działają w taki sam sposób na kamerze, jak na standardowym obiekcie OpenGL®. Ponadto złożone operacje z kamerą OpenGL® zwykle wymagają biegłości w matematyce macierzy i zrozumienia potoku transformacji OpenGL®. Istnieją pewne funkcje ułatwiające obsługę bibliotek OpenGL®, chociaż poleganie wyłącznie na zestawach narzędzi pomocniczych w bardziej interaktywnych aplikacjach może być trudne.
Położenie kamery OpenGL® określa się za pomocą matrycy podglądu modelu. Kamerę można ustawić w dowolnym miejscu sceny i przesuwać lub obracać wzdłuż dowolnej osi. W wielu aplikacjach, w szczególności aplikacjach zawierających tylko garść obiektów, łatwiej jest zastosować odwrotne transformacje obiektów w scenie, aby uzyskać wrażenie ruchu. Zasadniczo cała scena porusza się w tym przypadku wokół nieruchomej kamery. W przypadku większych scen łatwiej jest poradzić sobie ze złożonością potoku i matematyki, aby swobodnie poruszać kamerą, pozostawiając scenę nieruchomą.
Atrybuty kamery OpenGL® są kontrolowane przez matrycę projekcji. Aby użyć analogii kamery, matrycę projekcyjną można traktować jako rodzaj używanego obiektywu. Matryca projekcji jest często modyfikowana w celu wykonania rzutów ortograficznych, które nie mają regulacji perspektywy, oraz rzutów perspektywicznych uwzględniających odległość przy określaniu wielkości obiektów. Inne efekty, takie jak obiektyw typu rybie oko, ogniskowa lub różne współczynniki proporcji, można ustawić za pomocą matrycy projekcyjnej.