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