Di RobyDx (del 01/08/2007 @ 11:10:28, in DirectX9, linkato 1776 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.