Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(Khronos group)
IBM
Intel Microsoft Sun Microsystems
Hewlett-Packard
Dell Apple 3DLabs
ATI
Nvidia Matrox
Fcil de usar
Excelente documentacin Mecanismos de extensin
Portabilidad
Unix Windows Linux Mac OS C/C++/C# Visual Basic
Java
Fortran Ada Perl Python
Esquema general
Aplicacin Libreras OpenGL Sistema Grfico Driver Tarjeta Grfica Hardware OpenGL
Libreras de OpenGL
GL (Graphics Library)
Se encuentran las funciones bsicas de OpenGL. (opengl32.lib)
http://www.opengl.org/resources/libraries/glut.html
(para obtener el GLUT: glut.h, glut32.lib, glut32.dll)
http://www.sgi.com
(sitio oficial Silicon Graphics)
http://www.opengl.org
(sitio oficial del OpenGL)
http://www.mesa3d.org
(implementacin pblica de OpenGL)
http://developer.apple.com/graphicsimaging/download/index.html
(OpenGL para Apple)
b s i ub us ui
f d
GLbyte GLshort GLint GLsizei GLubyte GLboolean GLushort GLunit GLenum GLbitfield GLfloat GLclampf GLdouble GLclampd
Entero de 8 bits Entero de 16 bits Entero de 32 bits Entero de 8 bits sin signo Entero de 16 bits sin signo Entero de 32 bits sin signo
signed char short int / long unsigned short unsigned short unsigned int / unsigned long
float double
Funciones Callback
Display glutDisplayFunc( )
Se invoca cuando el sistema determina que el contenido de la ventana tiene que ser redibujado. Ejemplos: cuando la ventana se abre o cuando otra ventana se coloca delante de ella y la obstruye parcialmente
Reshape
glutReshapeFunc( )
Se invoca cuando la ventana cambia de dimensiones, normalmente porque el usuario arrastra los bordes de la misma con el mouse.
Mouse
glutMouseFunc( )
Maneja los eventos producidos por el mouse. Por ejemplo las coordenadas en la pantalla y que los botones se opriman o se suelten.
Keyboard
glutKeyboardFunc( )
Maneja los eventos producidos por el teclado. Por ejemplo la tecla que es oprimida
Otras
gl
Vertex
librera
gl glu glut
funcin
argumentos
1 2 3 4
tipo
b s i ub us ui f d
glVertex2i . . . . glEnd( )
Constantes:
GL_POINTS GL_LINES GL_LINE_LOOP GL_LINE_STRIP GL_TRIANGLES GL_TRIANGLE_STRIP GL_TRIANGLE_FAN GL_QUADS GL_QUAD_STRIP GL_POLYGON
glVertex2i(250,200) glEnd( )
glBegin( GL_TRIANGLES )
Ejemplo 2: (un tringulo)
Polgonos
Validos
Invlidos
Color de Primitivas
Ejemplo:
Programa mnimo
#include <windows.h> #include <GL/glut.h> void display_cb (void) { glClear (GL_COLOR_BUFFER_BIT); glFlush(); } void inicializacion (void) { glClearColor (1.0, 1.0, 1.0, 0.0); } int main (int argc, char** argv) { glutInit (&argc, argv); glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); glutInitWindowSize (600, 400); glutCreateWindow (Codigo Minimo"); glutDisplayFunc (display_cb); inicializacion(); glutMainLoop(); return 0; }