[Iriad Kumbuli] OpenGL Framebuffer

Slides:



Advertisements
Presentazioni simili
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
Advertisements

II° Circolo Orta Nova (FG)
II° Circolo Orta Nova (FG)
/ fax
Frontespizio Economia Monetaria Anno Accademico
La scelta del paniere preferito
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
1 Area Comunicazione e Sviluppo Web09/10/2003Sito Web Provincia di Torino Provincia di Torino Area Relazioni e Comunicazione 1 01/12/03 Portale della Provincia.
DISEGNO TECNICO INDUSTRIALE
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Dipartimento di Ricerca Sociale - Università del Piemonte Orientale 1 Castelli Aperti giugno 2005 Castello di Camino (AL) IL PUBBLICO DI CASTELLI.
1 Seconda ora Larchitettura di un sistema di e- government: parte seconda Un esempio di progetto di e-Government: il progetto servizi alle imprese Un esempio.
La domanda di prodotti agricoli ed agro-alimentari
EPA 01/02 VII /1 Relazioni spaziali tra i prezzi Lo spazio: produzione e consumo non avvengono nello stesso punto il prodotto deve essere spostato, con.
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 2005/06 prove generali.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Corso di Informatica per Giurisprudenza
Economia politica II – Modulo di Macroeconomia
CORSO DI RICERCA BIBLIOGRAFICA 4. giornata (20 marzo 2008) Web of Science Beilstein e Gmelin Crossfire.
I numeri by iprof.
I numeri relativi by iprof.
Lezione 8 Numerosità del campione
Num / 36 Lezione 9 Numerosità del campione.
Analisi di Immagini e Dati Biologici
EXCEL FORMATTAZIONE DATI.
1 Effetti impressionistici Daniele Marini. 2 Tecniche discrete di manipolazione del frame buffer: –Texture mapping –Antialiasing –Compositing –Alpha blending.
19 Lezione 21/5/04 Composizione dell'immagine 1 COMPOSIZIONE DELLIMMAGINE.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Psicologia della Percezione La Percezione del Movimento
Trattamento di Foto e Immagini Digitali
2 3 4 RISERVATEZZA INTEGRITA DISPONIBILITA 5 6.
Educare al multimediale 1 – Verso il digitale 2 Presentazione a cura di Gino Roncaglia Prima parte: Informazione in formato digitale.
RAPPRESENTAZIONE DELL'INFORMAZIONE
Progettazione multimediale
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
CORSO AVANZATO INFORMATICA
1 SOSTEGNO PSICOLOGICO SCUOLE DELLAQUILA. 2 Aiuto ai docenti in qualità di persone. L obiettivo è quello di sostenere e contenere lo stato emotivo personale.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
1 Questionario di soddisfazione ATA - a. sc. 2008/09 Il questionario è stato somministrato nel mese di aprile Sono stati restituiti 29 questionari.
Elementi di Geometria Geometria.
Esercitazioni di Meteorologia da satellite
LE SAI LE TABELLINE? Mettiti alla prova!.
QUIZ – PATENTE EUROPEA – ESAME WORD
Studente: Banovaz Diego Trieste, 15/12/2008AA: 2008/2009.
1101 = x 10 x 10 x x 10 x = CORRISPONDENZE
Fondamenti delle Reti di Computer Seconda parte Carasco 15/04/2010.
Image Based Rendering 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.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 18 Ottobre.
Informatica Avanzata Trattamento di Foto e Immagini Digitali UNI3 - NICHELINO Lez. N Gennaio 2009 di Pautasso Luciano Lez. N.
Bando di Residenza Cap Scheda ENTE 3ROL - Richieste On Line.
1 Struttura di un sistema grafico e frame buffer Daniele Marini.
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
USO DEL COMPUTER E GESTIONE DEI FILE
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Modulo 6 Test di verifica
lun mar mer gio ven SAB DOM FEBBRAIO.
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 21 Agosto.
1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.
USR-INRiM-GMEE-CE.SE.DI Formazione&Metrologia Modulo 1 1 Modulo 1 Costruzione di un linguaggio comune Preparazione liste dei termini. Condivisione.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Tag FRAMESET. I frame sono un particolare tipo di struttura HTML, che consente di suddividere la finestra del browser in diversi riquadri distinti. Un'insieme.
Video Grafica Immagini. Modalità Video Risoluzione –Numero di pixel visualizzati sul monitor; per esempio 800 x 600, 1024 x 768, 1280 x 1024 Profondità.
Transcript della presentazione:

[Iriad Kumbuli] OpenGL Framebuffer [Elementi di Grafica Digitale] 27/03/2017

Definizione Un buffer in OpenGL è un vettore bi-dimensionale di valori che corrispondono ad un pixel in una finestra o un’immagine. Ogni buffer ha lo stesso numero di righe e colonne. 27/03/2017

Ruolo del buffer in OpenGL Il ruolo svolto dai buffer in OpenGL e' essenziale: a seconda del loro ruolo essi memorizzano particolari informazioni su ogni pixel del frame che si sta renderizzando. 27/03/2017

OpenGL Buffers OpenGL utilizza diversi buffer per mantenere in memoria le informazioni riguardanti i pixel dell'area di rendering. I buffer differiscono tra loro per il tipo di informazioni che contengono o per la loro posizione. L'insieme di tutti i buffer si definisce OpenGL Frame Buffer. 27/03/2017

Tipi di OpenGL Buffers I buffer messi a disposizione da OpenGL sono: Color Buffer Depth Buffer o Z-Buffer Stencil Buffer Accumulation Buffer Auxiliary Buffer 27/03/2017

OpenGL Buffers Le applicazioni non sono costrette ad utilizzare tutti i buffer disponibili. Ogni programma OpenGL prima di iniziare qualsiasi operazione di rendering si occupa di selezionare e attivare un Frame Buffer adatto alle proprie esigenze. 27/03/2017

Color Buffer Il buffer del colore è senza dubbio il più importante. Esso è indispensabile dato che memorizza il colore di ogni pixel del frame. OpenGL mette a disposizione due tipi di color buffer: RGBA Index 27/03/2017

RGBA La modalità più diffusa è quella RGBA dato che consente di memorizzare le informazioni di colore per ogni componente (Red, Green, Blue e Alpha). Essa consente un maggiore numero di colori e la possibilità di creare effetti speciali. 27/03/2017

RGBA E' possibile richiedere a OpenGL più di un color buffer, specificando l'opzione: Double Buffer Stereo Buffer 27/03/2017

Double Buffering Quando chiediamo ad OpenGL un double buffer essa crea due buffer colore: Uno è il buffer principale, il Front buffer L’altro è il Back buffer oppure il buffer nascosto 27/03/2017

Color Buffer e scheda video Quasi tutte le schede video oggi utilizzano un color buffer a 32 bit. Questo corrisponde a 4 byte per pixel. Per un display a 1024x768, un buffer richiede precisamente 3 MB di memoria video. Ricordando che ci sono due di questi buffer il requisito di memoria passa a 6MB. 27/03/2017

Depth Buffer E' il buffer della profondità, ad ogni pixel è associata una determinata profondità che naturalmente dipende dalla sua posizione all'interno della scena. 27/03/2017

Depth Buffer Questo buffer è indispensabile per visualizzare gli oggetti in base alla distanza dal punto di vista invece che in base all'ordine nel quale vengono disegnati. Il modo esatto per controllare la profondità del pixel è utilizzando la funzione: glDepthFunc() Di norma tutte le applicazioni OpenGL utilizzano il Depth Buffer e la sua dimensione è di solito di 16 bit con evidentemente 2^16 livelli di profondità. 27/03/2017

Depth buffer e scheda grafica La precisione standard per il buffer della profondità è 24 bit per pixel. Questo produce un buffer di 2304 kB. Aggiungendo 2304 kB ai 6 MB che abbiamo utilizzato per il buffer di colore, arriviamo ad utilizzare attualmente 8448 kB di RAM della scheda video. 27/03/2017

Stencil Buffer Lo Stencil buffer permette di renderizzare sul frame buffer attraverso una maschera che ci consente di disegnare solo su alcune porzioni del frame. 27/03/2017

Stencil Buffer Per creare una maschera dobbiamo renderizzare sullo stencil buffer, per ogni pixel che andremo a modificare verrà memorizzato un 1. Renderizzando sempre sullo stesso frame un nuovo oggetto possiamo indicare di modificare un pixel solo se il valore relativo al dato pixel nello stencil buffer è uguale 1 ovvero appartenente alla maschera. In questo modo il nuovo oggetto verrà renderizzato solo all'interno dell'area precedentemente delimitata. 27/03/2017

Utilizzando Stencil buffer 27/03/2017

Stencil Buffer e libreria OpenGL OpenGL ha un insieme abbastanza potente di operazioni stencil Possiamo incrementare, diminuire, sostituire o solo tenere il valore nello stencil buffer. 27/03/2017

Stencil buffer e libreria OpenGL Le funzioni di OpenGL che sono usate in questo contesto sono glStencilFunc (), mettere le funzioni usate per la prova stencil e glStencilOp (), usato per specificare quale operazione compiere quando un frammento passa o fallisce la prova. 27/03/2017

Stencil Buffer In base alla dimensione in bit dello stencil buffer è possibile creare diversi strati di maschere. Viene utilizzato per le ombre realistiche, riflessioni, filtri, rendering all'interno di forme irregolari. 27/03/2017

Stencil buffer e scheda video Lo stencil buffer non richiede una massima precisione come gli altri buffer. La profondità standard è 8 bit per pixel. Questo vuole dire che lo stencil buffer aggiunge altri 768 kB al nostro consumo di memoria. Questo mette il nostro totale a 9216 kB. Su molte schede grafiche, lo stencil buffer è integrato col buffer di profondità. Quindi il 24 bit di Z-buffer e lo stencil buffer di 8 bit offrono un buffer singolo di 32 bit. 27/03/2017

Accumulation Buffer L'accumulation buffer è utilizzato per ottenere effetti speciali mediante l'accumulazione di diverse immagini. 27/03/2017

Accumulation Buffer L'accumulation buffer di norma ha un numero di bit per canale doppio rispetto a quello del color buffer ed è piuttosto lento dato che raramente è supportato direttamente in hardware. Viene utilizzato per soft shadows, motion blur, effetto depth field etc. 27/03/2017

Utilizzando Accumulation buffer 27/03/2017

Accumulation buffer e scheda video La risoluzione standard per il buffer di accumulazione è 64 bit per pixel. Al nostro esempio bisogna aggiungere 6 MB al nostro totale che ora è 15360 kB. 27/03/2017

Stereo Buffer Il problema principale è il rendering stereoscopico, ovvero presentare un’immagine diversa ad ogni occhio. La soluzione è utilizzare lo stereo buffer. 27/03/2017

Stereo Buffer Bisogna affermare che non è possibile controllare direttamente il rendering stereo da una applicazione OpenGL. l driver della scheda video forzeranno le applicazioni di essere avviati in modo stereo. 27/03/2017

Stereo Buffer e scheda video L'inconveniente del modo stereo è che raddoppia efficacemente la grandezza del nostro buffer di colore. Quindi abbiamo bisogno di un buffer di colore per ogni occhio, (ed abbiamo bisogno anche del Front buffer e Back buffer). Di conseguenza, possiamo aggiungere altri 6MB al nostro utilizzo di memoria. Il nostro framebuffer adesso adopererà 21504 kB di RAM. 27/03/2017

Auxiliary Buffer Sono dei buffer di colore ausiliari che possono essere utilizzati come “aree di lavoro”. 27/03/2017

Auxiliary Buffer I buffer ausiliari devono il loro nome al fatto che loro non sono molto utili. I buffer ausiliari sono buffer di colore "provvisori" che possono essere usati solo come il buffer di colore regolare. Li possiamo usare per immagazzinare i risultati di rendering pesanti. 27/03/2017

Auxiliary buffer e scheda video Utilizzare i buffer ausiliari è utile, ma bisogna ricordare che ogni buffer ausiliario aggiunge altri 3 Mb al nostro consumo di memoria. OpenGL definisce 4 buffer ausiliari, così abbiamo bisogno di 12 Mb di memoria supplementare per poter contenere l'OpenGL framebuffer intero. 27/03/2017

OpenGL Framebuffer e scheda video Per un display di 1024x768, la memoria totale che ci serve è di 33792 kB di RAM. Ovvero: 6144 kB, per l’utilizzo del Color Buffer 2304 kB, per il Depth Buffer 768 kB, per lo Stencil Buffer 6144 kB, per l’Accumulation Buffer 6144 kB, per lo Stereo Buffer 12288 kB, per l’Auxiliary Buffer 27/03/2017

Riepilogo Ovviamente con la tecnologia di oggi queste cifre possono sembrare assurde perché le schede video montano anche 256/512 MB di memoria, e non hanno problemi di accumulation, stereo e auxiliary buffer. 27/03/2017

Bibliografia e sitografia Sito Web OpenGL ufficiale: http://www.opengl.org OpenGL Overview: http://openskills.info Articles about OpenGL: http://www.delphi3d.net OpenGL Superbible, Third edition di Richard S. Wright e Benjamin Lipchak OpenGL Programming Guide di Jackie Neider, Tom Davis, Mason Woo 27/03/2017