Se diversamente scelto il punto di vista di una scena si trova all’origine ed è rivolto verso la parte negativa dell’asse z. Per spostare lo sguardo dobbiamo utilizzare una funzione:
gluLookAt(eyex, eyey, eyez, x, y, z, upx, upy, upz)
i paramentri riguardano: la posizione del nostro occhio ( eye ), il punto che stiamo fissando ed il vettore up, quest’ultimo argomento non è altro che l’inclinazione dell’occhio rispetto al punto osservato. Se si vuole evitare dei calcoli, possiamo dire che di norma nell’essere umano questo vettore sia (0, 1, 0 ).
I punti tridimensionali della nostra scena vengono proiettati sullo schermo solo se fanno parte del volume di vista, che compete a noi scegliere. In OpenGL ci sono due tipi di volumi di vista: il primo è un parallelepipedo definito da glOrtho, il secondo è un tronco di piramide che otteniamo utilizzando glPerspective.
Un volume di vista piramidale è molto simile a quello dell’occhio umano, gli oggetti vicini saranno più grandi di quelli lontani e le linee convergeranno all’orizzonte. La proiezione prospettica è più indicata per scene realistiche, mentre per i disegni tecnici è bene utilizzare la proiezione ortogonale. Vediamo nel dettaglio le due funzioni:
Abusare dell’angolo di vista prospettica per catturare maggiori oggetti può portare a deformare l’immagine e lo stesso si ha stiracchiando più o meno la scena, quindi occorre pensare a cosa sia visibile e farsi due calcoli per ottenere i parametri più sensatamente possibile.
Come ultima informazione che voglio darvi è il punto del programma in cui queste funzioni andranno inserite. Per quanto riguarda le funzioni di proiezione il punto migliore è il resize della finestra, perché è, proprio in questo punto che conosciamo le effettive dimensioni della finestra stessa. Per quanto riguarda glLookAt il punto migliore di cambiare punto di vista è senza dubbio la funzione di disegno, ma preoccupandosi di salvare la matrice con glPushMatrix in modo che non vadano perse le informazioni e procurare una possibile invisibilità degli oggetti nella scena.
MerciGest è il software gestionale gratuito per Windows che semplifica la gestione del magazzino: giacenze,…
Tutti i nostri software gestionali possono essere collegati a un database SQL Server, consentendo l’accesso…
MerciGest è semplice e immediato: basta scaricare e installare il programma per iniziare subito. Al…
MerciGest è un gestionale di magazzino per Windows pensato per negozi, piccole imprese e artigiani…
La Standard Template Library (STL) è una delle componenti più potenti del C++. Fornisce una…
Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…