La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Corso di Programmazione Grafica e Laboratorio Introduzione a OpenGL Prof. Daniele Marini.

Presentazioni simili


Presentazione sul tema: "Corso di Programmazione Grafica e Laboratorio Introduzione a OpenGL Prof. Daniele Marini."— Transcript della presentazione:

1 Corso di Programmazione Grafica e Laboratorio Introduzione a OpenGL Prof. Daniele Marini

2 Programmazione Grafica aa2006/20072 OpenGL Cos’è OpenGL -La libreria grafica OpenGL è definita come un’interfaccia software per l’hardware grafico -Non è un linguaggio di programmazione -E’ una libreria runtime, scritta in C, che fornisce delle funzioni di interfaccia – API (Application Programming Interfaces) per la creazione di grafica tridimensionale -Indipendente dalla piattaforma e dall’hardware -Non fornisce funzioni per la gestione di finestre e controlli, I/O e gestione dei file -Non esiste un formato per la descrizione dei modelli geometrici in OpenGL -E’ pensato per lavorare direttamente con l’hardware grafico ma esiste anche un’implementazione software

3 Programmazione Grafica aa2006/20073 OpenGL Cos’è OpenGL -OpenGL è una macchina a stati -I comandi delle API modificano lo stato corrente al fine di generare l’immagine -Ad esempio, una volta specificato un colore con l’apposito comando, tale colore sarà utilizzato per tutte le operazioni di disegno finché non sarà specificato un colore differente … glColor3f(1.0f, 0.0f, 0.0f); glBegin(GL_POLYGON); glVertex3f(0.25f, 0.25f, 0.0f); glVertex3f(0.75f, 0.25f, 0.0f); glVertex3f(0.75f, 0.75f, 0.0f); glVertex3f(0.25f, 0.75f, 0.0f); glEnd(); …

4 Programmazione Grafica aa2006/20074 OpenGL Un po’ di storia -OpenGL nasce dalle librerie IRIS GL di Silicon Graphics -Originariamente IRIS GL era una libreria grafica 2D che si è poi evoluta poi come API di programmazione 3D per applicazioni funzionanti su workstations SGI -OpenGL è il risultato degli sforzi di SGI per aumentare la portabilità di IRIS GL -Le nuove API dovevano offrire la potenza di IRIS GL ma essere uno standard aperto, con il contributo di altri produttori di hardware, per meglio adattare la compatibilità con altre piattaforme hardware e sistemi operativi -Dalla collaborazione di vari produttori nasce la OpenGL Architecture Review Board (ARB) -I fondatori sono SGI, Digital Equipment Corporation, IBM, Intel e Microsoft -Il 1 Luglio 1992 viene rilasciata la Versione 1.0 delle specifiche OpenGL -Ora ARB consiste di molti altri membri molti dei produttori di hardware

5 Programmazione Grafica aa2006/20075 Implementazione generica -Tutte le operazioni di disegno (rasterizzazione) vengono effettuate via software -Una tale architettura può funzionare su qualsiasi sistema in grado di visualizzare output grafico -Il sistema di rasterizzazione si appoggia sul Graphics Device Interface (GDI) del sistema operativo

6 Programmazione Grafica aa2006/20076 Implementazione hardware -Il sistema di rasterizzazione di OpenGL si interfaccia con il driver della scheda video -Il driver comunica direttamente con la scheda video senza passare dalla GDI -Tali implementazioni vengono dette hardware accelerated

7 Programmazione Grafica aa2006/20077 Pipeline -Con il termine pipeline intendiamo la descrizione di un processo che avviene per passi successivi -Semplificando molto, la pipeline di esecuzione di un’applicazione che utilizza le librerie OpenGL può essere schematizzate come segue: -Il programma esegue delle chiamate alle funzione delle API (comandi) -Tali comandi vengono salvati in una memoria temporanea (buffer) -I comandi vengono poi processati a seconda dei dati che trattano e passati quindi alla fase successiva -Trasformazione: i dati legati ai vertici della geometria vengono trasformati e illuminati -Rasterizzazione: viene generata l’immagine finale in base alle informazioni legate alla geometria, alle texture, etc… -L’immagine finale viene salvata nel framebuffer che rappresenta la memoria del display grafico e mostrata sullo schermo


Scaricare ppt "Corso di Programmazione Grafica e Laboratorio Introduzione a OpenGL Prof. Daniele Marini."

Presentazioni simili


Annunci Google