Di RobyDx (del 01/08/2007 @ 11:10:28, in DirectX9, linkato 1733 volte)
Il viewport è un oggetto che se passato al device permette di specificare una zona dello schermo di cui rappresentare una scena. Tutta la grafica verrà disegnata all'interno della zona rettangolare specificata. Questo significa che la grafica 3D verrà rimpicciolita all'interno del rettangolo ma quella 2D (sprite e texture) dovrà essere proporzionate e posizionata per bene (altrimenti zone della grafica 2D verranno tagliate).
L'oggetto viewport è questo
Dim v As Viewport v.Width = 256 'larghezza v.Height = 256 'altezza v.MaxZ = 1 ' verso profondità (quasi sempre valore uguale ad 1) v.MinZ = 0 'verso di inizio della profondità (quasi sempre uguale a 0) v.X = 0 'posizione X v.Y = 0 'posizione Y
Con questo settaggio la zona si trova in 0,0 e ha dimensioni 256x256.
Per settarlo basta fare
device.Viewport = v
per ricevere quello attuale
v = device.Viewport
Ricordate di non uscire mai dalla grandezza effettiva del backbuffer (risoluzione dell'applicazione) altrimenti genererete errori.
Potete usare il viewport per creare giochi in splitscreen renderizzando diverse scene in diverse zone dello schermo.
"La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché."