1 Struttura di un sistema grafico e frame buffer Daniele Marini.

19
1 Struttura di un sistema grafico e frame buffer Daniele Marini

Transcript of 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

Page 1: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

1

Struttura di un sistema grafico e frame buffer

Daniele Marini

Page 2: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

2

• 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”

Il processo grafico

Modeling Rendering

Page 3: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

3A. Van Dam

Page 4: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

4

Il processo grafico

Modelli geometrici

3D

Definizione dell’

animazione

Informazioni sull’

illuminazione

Rendering

Informazioni di texture

Archiviazione e display

Page 5: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

5

Il processo grafico: archiviazione e display

Rendering

HWFramebuffer

Disk File

....

VideoRecorder

Page 6: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

6

I fosfori sul monitor

R

G

B

R

R

B G

G

R

R G B R G B

Pixel

Pitch

Pitch

Page 7: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

7

Monitor a cristalli liquidi

polarizzatore

vetro

elettrodo

cristallo liquido

diffusore

strato riflettente

luceosservatore

Page 8: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

8

Cristalli liquidi a matrice attiva

polarizzatore

vetro

elettrodo

cristallo liquido

luce

filtri colorati

Page 9: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

9

Frame Buffer

• Il Frame Buffer è la memoria che registra temporaneamente le immagini generate

Frame Buffer

X address Raster Scan GeneratorY address

Pixel valueDAC

Video controller

CRT

Page 10: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

10

Frame buffer

Il Frame Buffer ha dimensioni MxNxnMxN dimesione dell’immagine

n profondità colore• dimensioni tipiche: 640x480, 800x600, 1024x768,

1280x1024, 1400x1050…• Profondità del colore: 8, 16, 24, 32 bit

Page 11: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

11

Canali

• RGB: tre canali per definire il colore di un pixel

Page 12: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

12

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

Page 13: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

13

LUT

• Look Up Table, tabella di ricerca rapida implementata via HW

• Registra i valori di colore (RGB) da attribuire ai pixel

Page 14: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

14

• 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)

LUT

Page 15: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

15

Molteplici buffer

• Double buffer– Un secondo buffer “di appoggio”

• Depth buffer– Per memorizzare le informazioni di profondità

• A-buffer

• ....

Page 16: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

16

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

BA II )1( αα −+

Page 17: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

17

“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

Page 18: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

18

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 +

Page 19: 1 Struttura di un sistema grafico e frame buffer Daniele Marini.

19

Perché tre colori? Sistema visivo umano!

La tecnologia chiave:il video!