GLUT

GLUT

GLUT (del inglés OpenGL Utility Toolkit) es una biblioteca de utilidades para programas OpenGL que principalmente proporciona diversas funciones de entrada/salida con el sistema operativo. Entre las funciones que ofrece se incluyen declaración y manejo de ventanas y la interacción por medio de teclado y ratón. También posee rutinas para el dibujado de diversas primitivas geométricas (tanto sólidas como en modo wireframe) que incluyen cubos, esferas y teteras. También tiene soporte para creación de menús emergentes.

La versión original de GLUT fue escrita por Mark J. Kilgard,[1] autor de OpenGL Programming for the X Window System y The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics, mientras trabajaba para Silicon Graphics.

Los dos objetivos de GLUT son para permitir la creación de código más portable entre diferentes sistemas operativos (GLUT es multiplataforma) y hacer OpenGL más simple. Introducirse en la programación con OpenGL utilizando GLUT conlleva normalmente sólo unas pocas líneas de código y hace innecesario el conocimiento de las APIs específicas de cada sistema operativo.

Todas las funciones de GLUT comienzan con el prefijo glut (por ejemplo, glutPostRedisplay indica que la ventana actual necesita ser redibujada).

Contenido

Implementaciones

La biblioteca GLUT original de Mark Kilgard soportaba X Window System (GLX) y fue portada a Microsoft Windows (WGL) por Nate Robins. Mac OS X trae su propio framework de GLUT que soporta su propia CGL.

El proyecto inicial de Kilgard ya no tiene mantenimiento y su licencia no libre no permitía la redistribución de versiones modificadas de la biblioteca. Este hecho hizo surgir implementaciones libres de la API desde cero. La primera fue freeglut, que pretende ser un clon bastante exacto, aunque con un un pequeño número de funciones nuevas para hacer frente a las limitaciones de GLUT. Existe un fork de freeglut llamado OpenGLUT, que añade algunas nuevas funcionalidades respecto de la API original.

Limitaciones

Algunas decisiones de diseño del GLUT original hace difícil a los programadores realizar las tareas deseadas. Esto llevó a muchos a crear parches y las extensiones para GLUT que se alejan del canon.[2] Algunas implementaciones libres también incluyen arreglos diversos.

Las limitaciones más destacables de la biblioteca GLUT original son:

  • La biblioteca exige a los programadores que llamen a glutMainLoop(),[3] una función que nunca termina. Esto hace difícil que los programadores integren GLUT en aplicaciones o bibliotecas en las que deseen poder tener control sobre su propio ciclo de ejecución. Una forma habitual de solucionar esto es introducir una nueva función, que suele llamarse glutCheckLoop(), que ejecute una sola iteración del ciclo de ejecución de GLUT. Otra solución bastante común es ejecutar GLUT por separado mediante hilos, aunque esto puede ser distinto dependiendo del sistema operativo y puede provocar problemas de sincronización. Por ejemplo la implementación de GLUT para Mac OS X obliga a que el glutMainLoop() se ejecute necesariamente en el hilo principal.
  • El hecho de que glutMainLoop() nunca termine también significa que el programa no sale nunca del ciclo de ejecución. freeglut soluciona este problema introduciendo una nueva función: glutLeaveMainLoop().
  • La biblioteca termina el proceso cuando se cierra la ventana, lo que en algunas aplicaciones puede no ser deseable. Por eso muchas implementaciones incluyen una función extra llamada glutWMCloseFunc().

Véase también

Referencias

  1. Mark J. Kilgard (1996). «"The OpenGL Utility Toolkit (GLUT) Programming Interface API Version 3"» (en inglés). Consultado el 4 de diciembre de 2007.
  2. «"OpenGL Toolkits FAQ: II. Popular GLUT Patches"» (en inglés) (febrero de 2005). Consultado el 4 de diciembre de 2007.
  3. «"Hacking GLUT to Eliminate the glutMainLoop() Problem"» (en inglés). Consultado el 4 de diciembre de 2007.

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Mira otros diccionarios:

  • Glut — [glu:t], die; : 1. glühende (nicht mit offener Flamme brennende) Masse (von Brennstoff oder verbrannter Materie): die Zigarette hat keine Glut mehr; im Ofen ist noch ein wenig Glut. Zus.: Backofenglut. 2. sehr große Hitze: eine furchtbare Glut… …   Universal-Lexikon

  • GLUT-4 — GLUT 4 …   Deutsch Wikipedia

  • glut — glut·acon·ic; glut; glut·ting·ly; glut·ton·ize; glut·ton·ous; glut·ton·ous·ly; glut·ton·ous·ness; glut·tony; he·mag·glut·i·nate; en·glut; glut·ton; …   English syllables

  • GLUT — (früher auch Glühe) bezeichnet: Glut (Lichtausstrahlung), das Leuchten von Festkörpern beim Erhitzen Glut (Verbrennung), Verbrennung ohne Flammenbildung Glut (Film) ist ein Film von Fred Kelemen Die Glut ist ein Roman von Sándor Márai Die… …   Deutsch Wikipedia

  • GLUT-1 — Masse/Länge Primärstruktur 492 Aminosäuren …   Deutsch Wikipedia

  • Glut — (früher auch Glühe) bezeichnet: Glut (Lichtausstrahlung), das Leuchten von Festkörpern beim Erhitzen Glut (Verbrennung), Verbrennung ohne Flammenbildung Bezeichnet folgende Filme: Glut (2005) (Krisana) ist ein Drama von Fred Kelemen Glut (1984)… …   Deutsch Wikipedia

  • GLUT-2 — Masse/Länge Primärstruktur 524 Aminosäuren …   Deutsch Wikipedia

  • Glut — (gl[u^]t), v. t. [imp. & p. p. {Glutted}; p. pr. & vb. n. {Glutting}.] [OE. glotten, fr. OF. glotir, gloutir, L. glutire, gluttire; cf. Gr. ? to eat, Skr. gar. Cf. {Gluttion}, {Englut}.] 1. To swallow, or to swallow greedlly; to gorge. [1913… …   The Collaborative International Dictionary of English

  • GLUT-3 — Masse/Länge Primärstruktur 496 Aminosäuren …   Deutsch Wikipedia

  • glut — [ glʌt ] noun singular an available amount of something that is more than people want or need: an oil glut glut of: a glut of cars on the market ╾ glut verb transitive …   Usage of the words and phrases in modern English

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”