1 Scan conversione di poligoni Daniele Marini. 2 Test interno-esterno Scan conversione di un poligono = decidere se pixel interno Test di intersezione:

Slides:



Advertisements
Presentazioni simili
Ombre e riflessioni in tempo reale
Advertisements

MATLAB.
Programmazione in Java (3)
Grafica Raster La grafica in 2D con coordinate intere viene detta grafica raster. In questa parte tratteremo le operazioni fondamentali per disegnare su.
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 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.
Costruzione di Interfacce Lezione 13 Clipping e HSR
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 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 Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 6 U n i v e r s i t à d e l l I n s u b r i a - 1/40 Esercizio Rasterizzazione (risultato.
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 Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 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.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Algoritmo di Kruskal Parte con tutti i vertici e nessun lato (sottografo aciclico, o foresta, ricoprente) Ordina i lati per costo non decrescente.
Algoritmi greedy Gli algoritmi greedy in genere non sono esatti, cioè determinano soluzioni non necessariamente ottime Per il problema dell’albero ricoprente.
Architetture per la sintesi di immagini Daniele Marini Gennaio 2000.
Scan conversione di poligoni
1 Superfici nascoste Daniele Marini. 2 Ray casting adatto a CSG o superfici parametriche dipende dal punto di vista è una sorta di campionamento spaziale.
Smoothing Daniele Marini.
Infomatica Grafica a.a DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.
Esempio di esecuzione dellalgoritmo di Prim 1 v1v1 v5v5 v2v2 v3v3 v4v U = {v 1 } X =Ø 1 v1v1 v5v5 v2v2 v3v3 v4v U = {v.
11 ottobre 2012 Modelli a poligoni Roberto Pirrone.
GRAFICA DIGITALE Silvia Lombardi Trento, 18 Maggio 2012
Composizione di vettori
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.
Illuminamento e Shading
R r qR rs qs QS rS rSR’ RSr’ Rs.
Effetti fotorealistici
Editing della Cartografia in ArcView Corso ArcView Editing.
Daniele Marini, Maurizio Rossi
Texturing - Tessiture Daniele Marini.
Le ombre proiettate Daniele Marini.
Dal modello alla visualizzazione: Verso il foto realismo Daniele Marini.
Architettura di OGL e pipe-line Daniele Marini Corso Di Programmazione Grafica.
Corso Di Programmazione Grafica
Programmazione grafica 1
Superfici nascoste Daniele Marini.
1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati.
1 Il rendering Daniele Marini. 2 Fasi del rendering Modellare Elaborazione geometrica - geometric processing Rasterizzazione Display.
1 Ottimizzazione della scena: culling (decimazione) Daniele Marini.
Corso di Programmazione Grafica e Laboratorio Daniele Marini
Architettura di OGL e pipe-line Daniele Marini Corso Di Programmazione Grafica.
Ottimizzazione pipe-line Daniele Marini Da: Akinen-Möller Corso Di Programmazione Grafica aa 2007/2008.
Ombre e riflessioni in tempo reale Daniele Marini Parzialmente tratte de: Haines-M ö ller Corso di Programmazione Grafica aa2006/2007.
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.
Ombre e riflessioni in tempo reale Daniele Marini Parzialmente tratte de: Haines-M ö ller Corso di Programmazione Grafica aa2005/2006.
Shading e smoothing Daniele Marini Corso Di Programmazione Grafica aa2005/2006.
Collisioni Corso di Programmazione Grafica e Laboratorio Daniele Marini.
Ottimizzazione pipe-line Daniele Marini Da: Akinen-Möller Corso Di Programmazione Grafica.
Primitive OpenGL Corso di Programmazione Grafica e Laboratorio Daniele Marini.
Ottimizzazione della scena: culling (decimazione) Daniele Marini.
Ottimizzazione della scena: culling (decimazione) Daniele Marini Corso di Programmazione Grafica per il Tempo Reale.
Esercitazione Ereditarietà Polimorfismo. Entita’ Geometrica PuntoCerchioPoligono TriangoloQuadrilatero Rettangolo Quadrato.
Triangoli Di Mattia Zagallo.
SIMILITUDINE Due poligoni sono simili se, contemporaneamente:
Rasterizzazione Antonio Cisternino
Clipping Antonio Cisternino Parte di queste slides sono a cura del Dott. Cignoni.
I Triangoli.
1 Smoothing Daniele Marini. 2 Calcoli sui vettori Vettore normale equazione del piano: ax+by+cz+d=0; si può anche scrivere come luogo: e p è un qualunque.
Ottavio Serra Cosenza, giugno 2006 Curva ricorsiva di Von Kock.
Le caratteristiche dei poligoni
Transcript della presentazione:

1 Scan conversione di poligoni Daniele Marini

2 Test interno-esterno Scan conversione di un poligono = decidere se pixel interno Test di intersezione: se p è interno ogni semiretta da p interseca il poligono un numero dispari di volte se p è esterno le intersezioni sono pari

3

4 OpenGL OGL garantisce la scan conversione di poligoni convessi creare modelli solo convessi triangolare (o tassellare) non troppo sottili o troppo lunghi più equilateri possibile (Delaunay)

5 Tassellazione v1v2 v3v4 v5v6 v7 v1v2 v3v4 v5 v6 v7

6 Scan Conversione e z-buffer Vertici e normali non clippate, trasformate per proiezione prospettica, (z esiste ancora!), computo del colore ai vertici …. resta da fare: Proiezione ortografica, rimozione superfici nascoste, shading: integrato tutto in z-buffer! Si procede per linee di scansione per ogni poligono, incrementando y e x in coordinate NDC e incrementando z in funzione dellequazione del piano

7 A ogni incremento di x e y si procede con interpolazione bilineare (Gouraud o Phong) Durante questa fase si possono applicare texture.

8 Metodi alternativi Flood fill (flat shading) –Scan conversione dei bordi con Brasenham –Dato un punto iniziale (seme) esplorare ricorsivamente il vicinato per decidere se i pixel sono esterni o interni Scan line –Itera per y decrescenti (crescenti) decidi i poligoni attivi e il test interno-esterno

9 Flood fill flood-fill(int x, int y); { if(read_pixel(x,y)==WHITE) { write_pixel(x,y,BLACK); flood_fill(x-1,y); flood_fill(x+1,y); flood_fill(x,y-1); flood_fill(x,y+1); }

10 Scan Line La regola interno-esterno permette di determinare span (tratti), tutti i pixel di uno span assumono lo stesso colore (o vengono interpolati per shading) I poligoni si organizzano in una lista di poligoni attivi e i bordi di un poligono attivo vengono organizzati in lista di bordi attivi. 3a lista di poligoni attivi viene costantemente agiornata inserendoli o togliendoli da una struttura dati (bucket - secchiello).