1 Effetti impressionistici Daniele Marini. 2 Tecniche discrete di manipolazione del frame buffer: –Texture mapping –Antialiasing –Compositing –Alpha blending.

Slides:



Advertisements
Presentazioni simili
Ombre e riflessioni in tempo reale
Advertisements

1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
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.
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 2005/06 prove generali.
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
Strumentazione per bioimmagini
CONTROLLO DI SUPPLY CHAIN MEDIANTE TECNICHE H-INFINITO E NEGOZIAZIONE
Architetture per la sintesi di immagini Daniele Marini Gennaio 2000.
Corso di Elementi di Grafica Digitale Massimo De March
Texturing - Tessiture Daniele Marini.
1 Modelli di Illuminazione Daniele Marini. 2 Obiettivo Visualizzare scene cercando di simulare al meglio la realtà Interazione luce-materiali –Modellare.
Modelli del colore 2 Daniele Marini.
1 Il Frame Buffer Daniele Marini. 2 Cosè Una memoria dedicata alla registrazione temporanea di una immagine Dimensioni tipiche: –640x480 x 8 bit –1024x1024.
Colore Eidomatico e Percezione del colore 3
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.
Modelli del colore 3 Daniele Marini.
Il calcolo di radiosity
Lavorare con le matrici in OGL
Colore Eidomatico e Percezione del colore 2
1 Modelli Globali Radiosity Daniele Marini. 2 Radiosity Bilancio radiativo in un ambiente chiuso (senza scambio di energia con lesterno) Indipendente.
Modellazione di terreni a risoluzione adattiva
Infomatica Grafica a.a DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.
14 giugno 2011 Rasterizzazione Prof. Roberto Pirrone.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
GRAFICA DIGITALE Silvia Lombardi Trento, 18 Maggio 2012
Illuminamento e Shading
Digitalizzazione Un segnale viene digitalizzato, se il suo stato originario analogico viene tradotto e rappresentato mediante un insieme numerabile di.
Slides di Valerio Egidi
Effetti fotorealistici
Modelli Globali: Ray Tracing
Percezione visiva e percezione del colore Effetti e illusioni
Image Based Rendering Daniele Marini.
Daniele Marini, Maurizio Rossi
Texturing - Tessiture Daniele Marini.
Le ombre proiettate Daniele Marini.
1 Il Frame Buffer Daniele Marini Maurizio Rossi. 2 Cosè Una memoria dedicata alla registrazione temporanea di una immagine Dimensioni tipiche: –640x480.
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
Immagini digitali immagine digitale, si intende un elemento grafico elaborato tramite computer, che si può visualizzare sul monitor e stampare su carta.
Programmazione grafica 1
Superfici nascoste Daniele Marini.
Texturing - Tessiture Daniele Marini.
1 Struttura di un sistema grafico e frame buffer Daniele Marini.
1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati.
Colore Eidomatico e Percezione del colore il modello Retinex
Pippo.
Modelli di Illuminazione
1 Ottimizzazione della scena: culling (decimazione) Daniele Marini.
Antialiasing tratto da: Han-Wei Shen.
Corso di Programmazione Grafica e Laboratorio Daniele Marini
Architettura di OGL e pipe-line Daniele Marini Corso Di Programmazione Grafica.
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.
Ombre e riflessioni in tempo reale Daniele Marini Parzialmente tratte de: Haines-M ö ller Corso di Programmazione Grafica aa2005/2006.
Antialiasing parzialmente tratto da: Han-Wei Shen Daniele Marini Corso Di Programmazione Grafica aa2005/2006.
Antialiasing parzialmente tratto da: Han-Wei Shen
Ottimizzazione della scena: culling (decimazione) Daniele Marini.
Ottimizzazione della scena: culling (decimazione) Daniele Marini Corso di Programmazione Grafica per il Tempo Reale.
L’insegnamento della fisica e delle scienze nella scuola; proposte operative per un approccio laboratoriale low-cost no cost Raggi, Fasci di Luce ed Ombre.
DIGITALIAZZAZIONE Di Alessio.
Informazione multimediale Lettere e numeri non costituiscono le uniche informazioni utilizzate dagli elaboratori ma ci sono sempre piu’ applicazioni che.
Computer Graphics Marco Tarini Università dell’Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Computer Graphics Marco Tarini Università dell’Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 Lezione.
SOMMARIO La Digitalizzazione La Compressione LA DIGITALIZZAZIONE La digitalizzazione consiste nella trasformazione di un oggetto in una sequenza di numeri,
Transcript della presentazione:

1 Effetti impressionistici Daniele Marini

2 Tecniche discrete di manipolazione del frame buffer: –Texture mapping –Antialiasing –Compositing –Alpha blending –Tone reproduction (correzione gamma, correzione colori)

3 riprodurre fedelmente la realtà: es. dellarancia, costruire un modello accurato: –Modello poliedrico –Modello spline –Modello procedurale/funzionale Approssimare la realtà con metodi impressionistici - aggiungere dettagli a un modello semplice

4 Scomporre la superficie da rendere in frammenti fragments della dimensione al più di un pixel; durante il rendering a ogni fragment si assegna il colore seguendo il modello di illuminazione scelto e modificandolo secondo una qualche regola: –Texture mapping --> usa una texture –Bump mapping --> perturba le normali –Environmental mapping --> simula riflessioni –…..

5 Fragments Le primitive sono rasterizzate e convertite in una immagine 2D. Rasterizzare vuol dire decidere quali quadrati di una griglia a valori interi in coordinate window sono occupati dalla primitiva, e assegnare un colore e altri valori Un quadrato della griglia con associati i valori di colore e profondità è chiamato fragment frammento Un frammento è un pixel virtuale I Pixel sono elementi del frame buffer; un frammento, che proviene da operazioni di rasterizzazione di una primitiva, viene combinato con il suo pixel corrispondente per produrre un nuovo pixel

6 Fragments Quando il frammento è stato costruito si può applicare: texturing, nebbia, antialiasing se sono inclusi nella descrizione del frammento Fatto ciò si possono applicare: alpha blending, dithering, operazioni logiche bit per bit (maschere,..), usando il frammento e il pixel già inserito nel framebuffer Infine il valore di colore del frammento (indice in LUT o quaterna RGBA) viene scritto nel pixel e visualizzato nella window usando la modalità di colore scelta.

7 Dithering Se la profondità di colore è limitata, si approssima la gamma dei colori attraverso con il dithering (esitare, tremare). alternando il colore di pixel adiacenti si ottengono le sfumature desiderate, visibili da una certa distanza l'occhio non è in grado di distinguere i piccoli punti singolarmente, ma coglie solo l'effetto d'insieme. tecnica di riproduzione dei colori a stampa con i retini

8 Dithering

9 errore cromatico: differenza tra il valore esatto del colore del pixel e quello più vicino, data una profondità di colore Il dithering compensa lerrore cromatico distribuendo la differenza sui pixel confinanti con il pixel considerato

10 Dithering algoritmo di Floyd-Steinberg: distribuisce l'errore cromatico sui pixel confinanti: – 7/16 assegnati al pixel a EST, –5/16 al pixel SUD, –3/16 al pixel SUD-OVEST, –1/16 al pixel SUD-EST

11 Alpha blending Senza blending ogni nuovo frammento sovrascriverebbe il colore già presente nel framebuffer come se il frammento fosse opaco Con il blending si può controllare quanta parte del colore esistente deve venir combinato col colore nel nuovo frammento alpha blending permette di creare un frammento trasparente, attraverso il quale si può vedere il colore già presente Compositing, painting e trasparenza si basano sul blending.

12 Compositing Una immagine di sintesi può essere il prodotto del rendering di molteplici elementi, per ciascuno dei quali si costruisce una immagine Il compositing mette assieme le diverse immagini per creare la scena completa

13 Compositing - alpha blending Alpha blending richiede alfa channel RGB Il quarto canale alfa contiene il valore di blending Trasparente: =0; opaco: =1 –Pixel sorgente: s=(s r,s g,s b,s a ) –pixel destinazione: d=(d r,d g,d b,d a ) –compositing: d=(b r s r +c r d r, …) –dove b e c sono i fattori di blending del pixel sorgente e pixel destinazione

14 Lordine con cui viene eseguito il compositing influenza il risultato glEnable(GL_BLEND) glBlendFunc(source_factor, destination_factor) Date n immagini da comporre con blending, al pixel i ogni immagine ha un colore C i i Sommando con blending le immagini si supera il valore di colore Si sostituisce C i con 1/n C i e i con 1/n i

15 Correzione del gamma Una variazione lineare dello stimolo produce una variazione logaritmica della sensazione percepita I monitor sono costruiti seguendo questo principio: un incremento della tensione di controllo produce un incremento logaritmico della intensità dellemissione Il gamma si può correggere con LUT

16 gamma Due monitor diversi producono immagini diverse Due problemi: calibrazione e riproduzione dei toni varia, tipici valori sono 1.5, 2, 2.5

17

18 Aliasing e anti aliasing Prodotto da insufficiente frequenza di campionamento

19

20 Possiamo campionare in posizioni regolari al centro del pixel:

21 Profili seghettati Perdita di dettagli Scomparsa della texture

22 Filtraggio: sovracampionare il segnale

23 Per ogni pixel si prende la media pesata del vicinato dei sovracampioni:

24 In OGL si può attivare anti aliasing di punti, linee e poligoni con: glEnable(GL_POINT_SMOOTH); glEnable(GL_LINE_SMOOTH); glEnable(GL_POLYGON_SMOOTH); Si può attivare anti aliasing con blending e compositing: glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONES_MINUS_SRC_ALPHA);