Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoRinaldo Floris Modificato 10 anni fa
1
Corso di Programmazione Grafica e Laboratorio Daniele Marini
Introduzione a OpenGL Corso di Programmazione Grafica e Laboratorio Daniele Marini
2
OpenGL - 1 Libreria grafica multi-piattaforma
Fornisce funzioni per "disegnare" una scena (tridimensionale) in un frame-buffer (porzione di finestra) Assume di avere a disposizione una finestra in cui disegnare
3
OpenGL – 2 GLU Frame Buffer GL Applicazione GLUT Window System GLX
4
GLUT - 1 Glut Libreria per la creazione di finestre in cui OpenGL possa disegnare Gestisce l'interazione con l'utente su tali finestre. Non fornisce dispositivi di interazione sofisticati (bottoni, campi di testo, ecc.).
5
GLUT –2 Includes Interfaccia grafica e librerie GLUT
#include <GL/gl.h> // OpenGL decl. #include <GL/glut.h> // GUI funcs Interfaccia grafica e librerie GLUT Descrizione degli oggetti forniti da GLUT Finestre Menu Interazione: Mouse, Tastiera, etc…
6
Inizializzazione di GLUT - 1
int main(int argc, char *argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB ); glutInitWindowSize(200, 200); glutCreateWindow(“Window Title"); glutReshapeFunc(reshapeFunc); glutDisplayFunc(displayFunc); glutMainLoop(); return 0; }
7
Inizializzazione di GLUT - 2
Funzioni di Reshape e Display glutReshapeFunc(reshapeFunc); glutDisplayFunc(displayFunc); Reshape Gestisce il ridimensionamento della finestra Display Contiene il codice per la visualizzazione
8
ReshapeFunc Imposta la viewport Imposta la camera
glViewport(0, 0, w, h); Imposta la camera glMatrixMode(GL_PROJECTION); // camera settings glMatrixMode(GL_MODELVIEW);
9
DisplayFunc Disegna la scena (o chiama le display list)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); // drawing code glFlush(); glutSwapBuffers(); // If double-buffered
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.