Livelli di astrazione (abstraction layers)
Computer Graphics
Lezione 2.5: CG abstraction layers
Applicazioni
Università dell’Insubria
Facoltà di Scienze MFN di Varese
SDK
Corso di Laurea in Informatica
Algoritmi
Anno Accademico 2012/13
API
Driver Scheda grafica
Marco Tarini
Scheda Grafica
32
Monitor
Livelli di astrazione (abstraction layers)
Livelli: Monitor
Display raster LCD
(Liquid Crystal Display)
liquido + polarizzazione luce
es: tubo catodico :
Applicazioni
Applicazioni
Display vettoriali:
SDK
SDK
Algoritmi
Algoritmi
API
Display raster CRT :
Driver Scheda grafica
Bomb jack - Tehkan 1984
Scheda Grafica
API
Proiettori LCD o DLP.
Driver Scheda grafica
Specchietti controllati
che riflettono luce
Scheda Grafica
Monitor
Monitor
Marco Tarini ‧ Comput er Graphics ‧
Livelli: Scheda grafica
Applicazioni
Hardware specializzato per CG
SDK
Algoritmi
Algoritmi
API
API
Driver Scheda grafica
Driver Scheda grafica
Scheda Grafica
Scheda Grafica
Monitor
Marco Tarini ‧ Comput er Graphics ‧
2012/13 ‧ Università dell’Insubria
Livelli: Driver
Applicazioni
SDK
Plasma display
per pixel:
xeno ionizzato via elettrodi
2012/13 ‧ Università dell’Insubria
37
Driver:
- insieme di routine
- controlla le periferiche HW
- basso livello
fornito dai produttori HW
Monitor
Marco Tarini ‧ Comput er Graphics ‧
2012/13 ‧ Università dell’Insubria
38
1
Livelli: API
Livelli: Algoritmi
Application Program Interface
Il dominio dello sviluppatore!
Insieme di routines
- (sotto forma di libreria)
- medio livello
- per lo sviluppatore
Applicazioni
SDK
Applicazioni
SDK
le due principali:
• OpenGL
(e OpenGL-ES, e WebGL)
• Direct3D
Algoritmi
API
Algoritmi
L’esempio precendente è
l’implementaz dell’algo algoritmo (*)
per disegnare la diagonale dello
schermo
(*) molto banale
API
es: routines dell’API OpenGL
Driver Scheda grafica
Driver Scheda grafica
glBegin(GL_LINES);
glVertex2f(0.0,0.0);
glVertex2f(1.0,1.0);
glEnd();
Scheda Grafica
Scheda Grafica
Monitor
Marco Tarini ‧ Comput er Graphics ‧
39
2012/13 ‧ Università dell’Insubria
Livelli: Algoritmi
Applicazioni
SDK
Monitor
Marco Tarini ‧ Comput er Graphics ‧
2012/13 ‧ Università dell’Insubria
40
Livelli: SDK
Quando un algoritmo che implementa una
nuova funzionalità ha successo può venire
incluso a livello dell’API.
• decide chi la scrive:
per DirectX decide Microsoft
per OpenGL decide il Khronos Group
(consorizio non-profit di industrie)
Applicazioni
SDK
Algoritmi
Algoritmi
API
API
Driver Scheda grafica
Driver Scheda grafica
Scheda Grafica
Scheda Grafica
Monitor
Marco Tarini ‧ Comput er Graphics ‧
2012/13 ‧ Università dell’Insubria
...
41
Software Development Kit
tutto quel che serve per sviluppare
un’applicazione
ambiente di sviluppo
(es: .net, devcpp)
librerie
strumenti per la
condivisione/sincronizzazione
del codice
manualistica, guide online
esempi, benchmarks
...
Monitor
Marco Tarini ‧ Comput er Graphics ‧
2012/13 ‧ Università dell’Insubria
42
Livelli: applicazioni
• stand alone
– (“desktop”)
Applicazioni
SDK
Algoritmi
API
• web based
– (“3D on the browser”)
– Soluzioni emegenti:
• WebG
• Unity…
Driver Scheda grafica
Scheda Grafica
Monitor
Marco Tarini ‧ Comput er Graphics ‧
2012/13 ‧ Università dell’Insubria
43
2