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.
Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…
MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→
In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…
In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…
Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…
Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→