Primitive OpenGL Corso di Programmazione Grafica e Laboratorio Daniele Marini
Primitive OpenGL - 1 Supporto per diversi tipi di primitive di base –Punti –Linee –Quadrilateri –Poligoni (convessi) Tutte le primitive sono specificate tramite una sequenza di vertici
Primitive OpenGL - 2 Le primitive vengono dichiarate mediante la coppia di funzioni glBegin(GLenum mode); glEnd(); mode specifica la primitiva che sarà definita tramite la lista di vertici che seguirà
Primitive OpenGL - 3
Esempio GLfloat pt[2] = {3.0, 4.0}; glBegin(GL_POINTS); glVertex2f(1.0, 2.0); // x=1, y=2 glVertex2f(2.0, 3.0); // x=2, y=3 glVertex2fv(pt); // x=3, y=4 glVertex2i(4,5); // x=4, y=5 glEnd();
Primitive e oggetti complessi Gli oggetti complessi vengono costruiti a partire dagli elementi di base Tipicamente OpenGL visualizza gli oggetti definiti per mezzo di strumenti avanzati
Definizione dei vertici glVertex2fv() Numero di componenti del punto (2,3,4) Formato dei dati (f,d,i,s) Opzionale: Indica che le componenti sono memorizzate all’interno di un array
Vertici e Colori OpenGL consente di assegnare colori diversi ai vertici di una primitiva (esempio poligono o quadrilatero) I colori “intermedi” vengono calcolati per interpolazione
Vertici e Colori glBegin(GL_QUADS); glColor3f(1,0,0); glVertex3d(-3, -3, -3); glColor3f(0,1,0); glVertex3d(3, -3, -3); glColor3f(0,0,1); glVertex3d(3, 3, -3); glColor3f(1,0,1); glVertex3d(-3, 3, -3); glEnd();