Pipeline grafica: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Luigi923 (discussione | contributi)
traduzione migliorata
Riga 3:
== Pipeline grafica 3D classica ==
[[File:Graphicspipeline-fig1.png|miniatura|336x336px|Fig.1 - Sistemi di coordinate 3D e terminologia]]
Qualsiasi utilizzo significativo del computer dedicato allo studio della geometria, implica il volere infine visualizzare degli oggetti su un dispositivo grafico. La figura 1 mostra alcune terminologie standard per il primo steppasso di una classica pipeline grafica tridimensionale, che giunge dalla rappresentazione matematica di un oggetto in <math>R^3</math> alla propria immagine sul dispositivo.<ref name=":0">{{Cita libro|autore=Max K. Agoston|titolo=Computer Graphics & Geometric Modeling - Implementarion & Algorithms|anno=|editore=|città=|p=|pp=|ISBN=}}</ref> Gli oggetti nel mondo sono descritti dall'utente in riferimento a un sistema di coordinate del mondo (''world coordinate system''). Il mondo è poi proiettato su un piano di visualizzazione (''view plan'') da un dato punto di vista (''viewpoint''), che supporremo sia la posizione di una ''camera'' o dell'occhio. Abbiamo un'associazione fra il piano di visualizzazione e il sistema di coordinate della camera. Ciò che viene visto dal punto di vista lungo l'asse z positivo del sistema di coordinate della camera, specifica la direzione della vista (''view direction''). Una finestra (''window'') nel piano di visualizzazione specifica l'area di interesse. Il volume di visualizzazione o la piramide di visualizzazione è l'infinito volume tracciato dai raggi che partono dal punto di vista e passanti attraverso i punti della finestra.
 
Per limitare l'output degli oggetti, si può usare spesso un vicino (''near'', ''front'', o ''hither'') e un lontano (''far'', ''back'', o ''yon'') ''piano di clipping''.<ref name=":0" /> Il volume che si trova all'interno del volume di visualizzazione e fra questi due piani è chiamato volume di visualizzazione troncato o piramide di visualizzazione troncata. Solo quelle parti degli oggetti che giacciono in questo volume e che vengono proiettate nella finestra, saranno visualizzate. La determinazione di quelle parti di un oggetto è detta [[clipping]]. PerIn linea di principio, i sistemi di coordinate - del mondo, della camera, e del piano visivo - possono essere distinti. In pratica, tuttavia, si assume che gli assi di coordinate della camera e il sistema di coordinate del piano di visualizzazione siano paralleli e che gli assi z siano perpendicolari al piano visivo.<ref name=":0" /> Si assume anche che i loro assi x e y siano paralleli ai lati della finestra.<ref name=":0" />
 
LoIl steppasso finale nel mappare un oggetto a un dispositivo grafico, comporta una mappatura che trasforma le coordinate del piano visivo in coordinate del dispositivo fisico.<ref name=":0" /> Questo è generalmente pensato come un processo a due fasi. Inizialmente, una prima mappa trasforma la finestra in una ''viewport'' (che è un sotto-rettangolo di un rettangolo fisso chiamato ''logical screen'') e dopo una seconda mappa trasforma le coordinate del logical screen nelle coordinate del dispositivo fisico. A volte il logical screen è già definito in termini di queste coordinate, così che la seconda mappa non è necessaria. Altre volte, esso è posto uguale a un rettangolo fisso come per esempio il [[quadrato unitario]] <math>[0,1]\times [0,1]</math>, nel cui caso possiamo dire che la viewport è specificata in coordinate di dispositivo normalizzate (''normalized device coordinates'', NDC). La classica pipeline grafica 3D può quindi essere riassunta come mostrato nella figura 3.
[[File:Graphicspipeline fig3.png|miniatura|Fig.2 - Pipeline finestra-dispositivo]]
Attenzione: la distinzione fra "finestra" e "viewport" è spesso sfocata, e a volte, ciò che dovrebbe essere chiamato viewport viene chiamato finestra. La finestra specifica che <u>cosa</u> viene visto nelle coordinate utente, e la viewport specifica <u>dove</u> quel qualcosa viene visualizzato.<ref name=":0" /> Vedi la figura 2.
[[File:Graphicspipeline fig2.png|centro|miniatura|844x844px|Fig.3 - La pipeline grafica 3D di base]]La pipeline può essere realizzata in [[software]] o in [[hardware]], sebbene per questioni di velocità e di prestazioni tutte le moderne [[scheda grafica|schede grafiche]] dispongonodispongano di diverse pipeline grafiche più o meno avanzate. Sebbene esistano molte implementazioni di una pipeline grafica tutte queste implementazioni suddividono il lavoro in quattro operazioni principali (riassumendo quanto detto in precedenza):
 
* [[Modellazione 3D|Modellazione]]: Durante questa fase vengono generati, come insieme di vertici, gli oggetti da rappresentare; ad esempio linee, poligoni, punti.