Che cos'è una videocamera OpenGL®?
"Telecamera OpenGL®" è il nome dato alla posizione virtuale di un visualizzatore all'interno di una scena Open Graphics Library® (OpenGL®). È definito dalla posizione dello spettatore all'interno della scena, quindi dalla posizione o direzione in cui lo spettatore sta guardando. La posizione della telecamera in una scena OpenGL® determinerà quale parte di una scena verrà renderizzata sul dispositivo di visualizzazione e con quale angolazione. Per descrivere una telecamera OpenGL® vengono utilizzate due matrici: la matrice modelview e la matrice di proiezione, che descrivono rispettivamente la posizione della telecamera e il modo in cui gli oggetti a cui guarda sono rappresentati. Una telecamera può essere spostata all'interno di una scena per mostrare aree diverse o per simulare il movimento, sebbene in molti casi sia più facile o più efficiente spostare gli oggetti in una scena invece della telecamera.
Durante l'apprendimento di OpenGL®, alcuni programmatori hanno difficoltà a comprendere le proprietà relativamente astratte di una telecamera OpenGL®. Ciò è in gran parte dovuto al fatto che alcune trasformazioni e altre funzioni non funzionano allo stesso modo su una telecamera come su un oggetto OpenGL® standard. Inoltre, le operazioni complesse con una telecamera OpenGL® richiedono solitamente competenza con la matematica matriciale e una comprensione della pipeline di trasformazione OpenGL®. Esistono alcune funzioni utili nel supporto delle librerie OpenGL®, sebbene possa essere difficile fare affidamento esclusivamente sui toolkit di supporto in più applicazioni interattive.
La posizione di una telecamera OpenGL® viene definita utilizzando la matrice modelview. La telecamera può essere posizionata ovunque all'interno di una scena e tradotta o ruotata lungo qualsiasi asse. In molte applicazioni, in particolare applicazioni che contengono solo una manciata di oggetti, può essere più semplice applicare trasformazioni inverse agli oggetti all'interno di una scena per dare l'apparenza di movimento. In sostanza, l'intera scena si sposta attorno a una telecamera statica in questo caso. Per scene più grandi, può essere più semplice gestire le complessità della pipeline e della matematica della matrice per spostare liberamente la telecamera, lasciando la scena statica.
Gli attributi di una telecamera OpenGL® sono controllati dalla matrice di proiezione. Per usare l'analogia della fotocamera, la matrice di proiezione può essere considerata come il tipo di obiettivo utilizzato. La matrice di proiezione viene frequentemente modificata per realizzare proiezioni ortografiche, che non hanno alcuna regolazione prospettica, e proiezioni prospettiche che tengono conto della distanza nel determinare la dimensione degli oggetti. Altri effetti, come una lente fish-eye, lunghezza focale o diverse proporzioni, possono essere impostati mediante la matrice di proiezione.