Corso di Programmazione Grafica e Laboratorio Daniele Marini

Slides:



Advertisements
Presentazioni simili
Ombre e riflessioni in tempo reale
Advertisements

BUMP MAPPING dott.ing.jun Alex Zupan –
Grafica Raster La grafica in 2D con coordinate intere viene detta grafica raster. In questa parte tratteremo le operazioni fondamentali per disegnare su.
Macchina Fotografica Virtuale
Corso di Informatica grafica 1 Introduzione Quando si rappresentano modelli di oggetti 3D costituiti da facce poligonali secondo delle proiezioni alcune.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 prove.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 prove generali.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Matrici di Proiezione Prospettica
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Computer Graphics Marco Tarini Lezione 7: rasterizzazione la fabbrica dei frammenti Università dellInsubria Facoltà di Scienze MFN - Varese Corso di Laurea.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Università degli Studi di Roma La Sapienza
Applicazioni progettuali di grafica computerizzata a.a. 2008/2009 Rendering grafico.
Introduzione alla grafica digitale 2005,6,7,8,9,.. Matjaž Hmeljak.
1 Superfici nascoste Daniele Marini. 2 Ray casting adatto a CSG o superfici parametriche dipende dal punto di vista è una sorta di campionamento spaziale.
1 Effetti impressionistici Daniele Marini. 2 Tecniche discrete di manipolazione del frame buffer: –Texture mapping –Antialiasing –Compositing –Alpha blending.
Lavorare con le matrici in OGL
Infomatica Grafica a.a DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.
Relatore: Laureando: Prof. Luca Zaccarian Roberto Antonelli
14 giugno 2011 Rasterizzazione Prof. Roberto Pirrone.
Gerarchie Nella lezione precedente abbiamo imparato creare una gerarchia di oggetti usando i gruppi (edit>group)
Corso di tecniche della modellazione digitale computer 3D A.A. 2010/2011 docente Arch. Emilio Di Gristina 11.
GRAFICA DIGITALE Silvia Lombardi Trento, 18 Maggio 2012
Determinazione delle superfici visibili
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Le proiezioni e la prospettiva
Effetti fotorealistici
Image Based Rendering Daniele Marini.
Daniele Marini, Maurizio Rossi
Texturing - Tessiture Daniele Marini.
Le ombre proiettate Daniele Marini.
1 Scan conversione di poligoni Daniele Marini. 2 Test interno-esterno Scan conversione di un poligono = decidere se pixel interno Test di intersezione:
Dal modello alla visualizzazione: Verso il foto realismo Daniele Marini.
Architettura di OGL e pipe-line Daniele Marini Corso Di Programmazione Grafica.
Le trasformazioni Daniele Marini.
Le proiezioni e la prospettiva
Le proiezioni e la prospettiva
Programmazione grafica 1
Superfici nascoste Daniele Marini.
Texturing - Tessiture Daniele Marini.
1 Ottimizzazione della scena: culling (decimazione) Daniele Marini.
Controllare le proiezioni
Collisioni Corso di Programmazione Grafica e Laboratorio Daniele Marini.
Corso di Programmazione Grafica e Laboratorio Introduzione a OpenGL Prof. Daniele Marini.
Architettura di OGL e pipe-line Daniele Marini Corso Di Programmazione Grafica.
Introduzione al corso Corso di Programmazione Grafica e Laboratorio Daniele Marini.
Controllare la prospettiva
Ombre e riflessioni in tempo reale Daniele Marini Parzialmente tratte de: Haines-M ö ller Corso di Programmazione Grafica aa2006/2007.
Controllare la prospettiva
Architettura di OGL e pipe-line Daniele Marini Davide Gadia Davide Selmo Corso Di Programmazione Grafica aa2005/2006.
Collisioni Corso di Programmazione Grafica e Laboratorio Daniele Marini.
Le trasformazioni Daniele Marini Corso Di Programmazione Grafica aa 2005/2006.
Ombre e riflessioni in tempo reale Daniele Marini Parzialmente tratte de: Haines-M ö ller Corso di Programmazione Grafica aa2005/2006.
Collisioni Corso di Programmazione Grafica e Laboratorio Daniele Marini.
Controllare le proiezioni Daniele Marini Corso Di Programmazione Grafica aa 2007/2008.
Ottimizzazione della scena: culling (decimazione) Daniele Marini.
Ottimizzazione della scena: culling (decimazione) Daniele Marini Corso di Programmazione Grafica per il Tempo Reale.
Controllare le proiezioni
Collisioni Daniele Marini Corso di Programmazione Grafica per il Tempo Reale.
Sistemi Multimediali II Marco Tarini Università dell’Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Costruzione di interfacce Paolo Cignoni
Transcript della presentazione:

Corso di Programmazione Grafica e Laboratorio Daniele Marini Pipeline di Rendering Corso di Programmazione Grafica e Laboratorio Daniele Marini

Pipeline - 1 Funzione principale della pipeline di rendering è generare (renderizzare) un’immagine bidimensionale dati: una camera virtuale, oggetti tridimensionali, sorgenti di luce, modelli di illuminazione, textures, ecc….

Pipeline - 2 Fasi concettuali: Ogni fase può essere a sua volta una pipeline. L’elemento della pipeline più lento determina la velocità di rendering (misurata in frames per second, o fps). Application Geometry Rasterizer

Application stage - 1 E’ sempre implementata via software Quindi il programmatore ha pieno controllo dell’implementazione Non è suddidivisa in ulteriori pipeline Può essere eseguita in parallelo su numerosi processori per aumentare le prestazioni

Application stage - 2 Processi normalmente considerati e implementati in questa fase: Collision detection Input da joystick, tastiera, mouse, ecc…. Geometry morphing, animazione via trasformazioni, ecc….. Algoritmi di accelerazione Alla fine di questi processi la geometria viene inviata allo stage successivo.

Geometry stage In questa fase viene eseguita la maggior parte di operazioni sui poligoni e sui vertici. E’ normalmente suddivisa in questo modo: Applic Geom Rast Model and View Transform Lighting Projection Clipping Screen Mapping

Model and View Transform - 1 In questa fase vengono applicate le trasformazioni ai vertici e alle normali della geometria passata dall’Application stage. Dopo l’applicazione delle trasformazioni, si dice che la geometria è descritta in coordinate mondo (world coordinates).

Model and View Transform - 2 In questa fase vengono applicate anche le trasformazioni di vista. Lo scopo è facilitare le proiezioni e il clipping, posizionando la camera virtuale nell’origine e facendola guardare lungo l’asse negativo delle z. Dopo l’applicazione di queste trasformazioni, si dice che la geometria è descritta in coordinate occhio o camera (camera coordinates o eye coordinates).

Lighting and Shading In questa fase normalmente vengono applicati modelli di illuminazione che cercano di simulare l’interazione tra luce e materiali dei modelli della scena. In grafica real-time vengono utilizzati normalmente metodi locali, che calcolano il colore di un vertice considerando il materiale dell’oggetto, la posizione del vertice e la sua normale, e la posizione della luce.

Projection - 1 In questa fase il volume di vista viene trasformato in un cubo con estremi in (-1,-1,-1) e (1,1,1) , chiamato volume di vista canonico. Esistono due tipi di proiezione: Ortografica (o parallela): il volume di vista è un parallelepipedo, linee parallele rimangono parallele. Prospettica: il volume di vista è un tronco di piramide a base rettangolare (frustum), linee parallele possono convergere all’orizzonte.

Projection - 2 Proiezione ortografica

Projection - 3 Proiezione prospettica

Projection - 4 Le proiezioni, come le trasformazioni di modellazione e di vista, sono rappresentate da matrici 4x4. Dopo l’applicazione della proiezione, si dice che la geometria è descritta in coordinate dispositivo normalizzate (normalized device coordinates).

Clipping Solo le primitive interamente o parzialmente dentro il volume di vista devono essere passate al rasterizer stage. Le primitive in parte dentro il volume vanno clippate per eliminare le parti fuori dal volume.

Screen mapping Questa fase consiste nel mappare le coordinate tridimensionali (x,y,z) dei vertici nel cubo di lato unitario in coordinate bidimensionali (x’,y’) della finestra sullo schermo. Le coordinate z non sono modificate. Le coordinate (x’,y’) sono dette coordinate schermo (screen coordinates). Le coordinate schermo insieme alle coordinate z sono dette coordinate finestra (window coordinates)

(x’,y’) coordinate schermo + coordinata z di profondità Riassunto coordinate Model and View Transform Lighting Projection Clipping Screen Mapping Normalized Device Coord. 4D (Omogenee) World Coord. 4D (Omogenee) Window Coord. 2D (x’,y’) coordinate schermo + coordinata z di profondità mantenuta a parte World Coord. 3D

Rasterizer stage - 1 Scopo di quest’ultima fase è assegnare il colore corretto ai pixel dell’immagine finale, memorizzati nel color buffer. In questa fase si risolve il problema della visibilità: le coordinate z (memorizzate nello Z-buffer) mi dicono per ogni pixel quale primitiva sia più “vicina” rispetto alle altre, e quindi quale sia il colore da assegnare. Vengono anche calcolate le informazioni relative alle texture.

Rasterizer stage - 2 Altri buffer possono essere utilizzati in questa fase per effettuare operazioni sui pixel: Alpha channel, per effetti di trasparenza Stencil buffer, per vari effetti come ombre e riflessioni Accumulation buffer, per effetti di motion blur. Alla fine di queste operazioni, l’immagine può essere visualizzata.