Platon
funciones y el comportamiento exacto quedeben tener. Partiendo de ella, los fabricantes de hardware crean implementaciones, que son bibliotecas de funciones que se ajustan a los requisitos de la especificación, utilizando aceleración hardware cuando es posible. Dichas implementaciones deben superar unos tests de conformidad para que sus fabricantes puedan calificar su implementación como conforme a OpenGL y para poder usar el logotipooficial de OpenGL. Hay implementaciones eficientes de OpenGL para Mac OS, Microsoft Windows, GNU/Linux, varias plataformas Unix y PlayStation 3. Existen también varias implementaciones en software que permiten ejecutar aplicaciones que dependen de OpenGL sin soporte de aceleración hardware. Es destacable la biblioteca de software libre / código abierto Mesa 3D, una API de gráficos sin aceleraciónhardware y completamente compatible con OpenGL. Sin embargo, para evitar los costes de la licencia requerida para ser denominada formalmente como una implementación de OpenGL, afirma ser simplemente una API muy similar. La especificación OpenGL era revisada por el OpenGL Architecture Review Board (ARB), fundado en 1992. El ARB estaba formado por un conjunto de empresas interesadas en la creación de unaAPI consistente y ampliamente disponible. Microsoft, uno de los miembros fundadores, abandonó el proyecto en 2003.
OpenGL tiene dos propósitos esenciales: Ocultar la complejidad de la interfaz con las diferentes tarjetas gráficas, presentando al programador una API única y uniforme. Ocultar las diferentes capacidades de las diversas plataformas hardware, requiriendo que todas lasimplementaciones soporten la funcionalidad completa de OpenGL (utilizando emulación software si fuese necesario). Ejemplo Primero, limpiamos el buffer de color para empezar en un canvas negro: glClear( GL_COLOR_BUFFER_BIT ); Se establece la matriz modelview, que controla la posición de la cámara respecto a las primitivas que renderizamos. La retrasamos 3 unidades en el eje Z, dejándola apuntando hacia elorigen: glMatrixMode( GL_MODELVIEW ); ''modelview'' */ glLoadIdentity(); glTranslatef( 0, 0, -3 ); /* Inicializar ''modelview'' */ /* Desplazar 3 unidades en el eje Z */ /* Los comandos para matriz modificarán
La matriz projection controla la perspectiva aplicada a las primitivas; se utiliza de forma similar a la anterior: glMatrixMode( GL_PROJECTION ); ''projection'' */ glLoadIdentity(); /*Inicializar ''projection'' */ /* Aplicar una proyección en perspectiva */ /* Los comandos para matriz modificarán
glFrustum( -1, 1, -1, 1, 1, 1000 );
Por último, se dibuja un polígono (un cuadrado verde orientado en el plano XY): glBegin( GL_POLYGON ); /* Inicio de polígono */
glColor3f( 0, 1, 0 ); glVertex3f( -1, -1, 0 ); glVertex3f( -1, 1, 0 ); glVertex3f( 1, 1, 0 ); glVertex3f( 1, -1, 0 );glEnd();
/* Establecer color actual a verde */ /* Establecer un vértice */ /* Establecer un vértice */ /* Establecer un vértice */ /* Establecer un vértice */ /* Fin de polígono */
WINDOWS.
Instalar el entorno de desarrollo integrado favoritos (IDE). Este tutorial se supone que tiene Microsoft Visual Studio instalado en su máquina. 1. Instale OpenGL Software de tiempo de ejecución de...
Regístrate para leer el documento completo.