190 likes | 306 Views
Struttura di un sistema grafico e frame buffer. Daniele Marini. Il processo grafico. Sintesi di immagini a partire da modelli Due “momenti” fondamentali: Modellazione Definizione degli oggetti, delle luci, loro posizionamento, proprietà delle superfici Rendering
E N D
Struttura di un sistema grafico e frame buffer Daniele Marini
Il processo grafico • Sintesi di immagini a partire da modelli • Due “momenti” fondamentali: • Modellazione • Definizione degli oggetti, delle luci, loro posizionamento, proprietà delle superfici • Rendering • “Calcolo del colore delle superfici” Modeling Rendering
Il processo grafico Informazioni sull’ illuminazione Modelli geometrici 3D Rendering Archiviazione e display Definizione dell’ animazione Informazioni di texture
Il processo grafico: archiviazione e display HW Framebuffer Rendering .... Disk File Video Recorder
Frame Buffer X address Raster Scan Generator Y address DAC Pixel value CRT Video controller Frame Buffer • Il Frame Buffer è la memoria che registra temporaneamente le immagini generate
Frame buffer Il Frame Buffer ha dimensioni MxNxn MxN dimesione dell’immagine n profondità colore • dimensioni tipiche: 640x480, 800x600, 1024x768, 1280x1024, 1400x1050… • Profondità del colore:8, 16, 24, 32 bit
Canali • RGB: tre canali per definire il colore di un pixel
True color e Falso colore • True color: ogni locazione nel frame buffer contiene il valore di colore assegnato al pixel • Falso colore: ogni locazione nel frame buffer contiene un indirizzo alla LUT nella quale viene registrato il valore di colore desiderato
LUT • Look Up Table, tabella di ricerca rapida implementata via HW • Registra i valori di colore (RGB) da attribuire ai pixel
LUT • Le CLUT permettono di realizzare effetti particolari • Pseudo-colori per la visualizzazione di immagini scientifiche • Blending • Etc. • In un sistema a 24 bit (3x8 bit) ciascun canale RGB ha una sua LUT (0-255)
Molteplici buffer • Double buffer • Un secondo buffer “di appoggio” • Depth buffer • Per memorizzare le informazioni di profondità • A-buffer • ....
L’Alpha channel • Assume valori tra 0 e 1, indica come miscelare (blending) più immagini • “1” indica un pixel “opaco”, “0” indica un pixel completamente trasparente
“Alfa” channel • Contiene valori tra 0 e 1, indica come miscelare più immagine con operatori aritmetici • Es.: senza alfa: ImmaA+ImmB=def pA(x,y)+pB(x,y) clamp(255) • Clamp? 0 se pA(x,y)+pB(x,y) ≤0 255 se pA(x,y)+pB(x,y) ≥255 pA(x,y)+pB(x,y) altrimenti
Risoluzione e dinamica • La dimensione del frame buffer determina la dimensione della immagine • La lunghezza di parola nel frame buffer determina il numero di colori simultaneamente visualizzabili: la dinamica di colore • Parole di 32 bit consentono di registrare informazioni sul canale “alfa” per altri effetti: R,G,B + A
Perché tre colori? Sistema visivo umano! La tecnologia chiave: il video!