stringtranslate.com

Kit de herramientas de utilidad OpenGL

El OpenGL Utility Toolkit ( GLUT ) es una biblioteca de utilidades para programas OpenGL , que principalmente realizan operaciones de E/S a nivel de sistema con el sistema operativo anfitrión . Las funciones que se realizan incluyen la definición de ventanas, el control de ventanas y la supervisión de la entrada del teclado y el ratón . También se proporcionan rutinas para dibujar una serie de primitivas geométricas (tanto en modo sólido como en modo de estructura alámbrica), incluidos cubos , esferas y la tetera de Utah . GLUT también tiene un soporte limitado para crear menús emergentes.

GLUT fue escrito por Mark J. Kilgard , autor de Programación OpenGL para el sistema X Window y The Cg Tutorial: La guía definitiva para gráficos programables en tiempo real , mientras trabajaba para Silicon Graphics Inc.

Los dos objetivos de GLUT son permitir la creación de código bastante portable entre sistemas operativos (GLUT es multiplataforma ) y facilitar el aprendizaje de OpenGL. Comenzar a programar con OpenGL mientras se utiliza GLUT a menudo requiere solo unas pocas líneas de código y no requiere conocimientos de las API de ventanas específicas del sistema operativo .

Todas las funciones GLUT comienzan con el glutprefijo (por ejemplo, glutPostRedisplaymarca la ventana actual como que necesita ser redibujada).

Implementaciones

La biblioteca GLUT original de Mark Kilgard es compatible con X Window System ( GLX ) y Nate Robins la adaptó a Microsoft Windows ( WGL ). Además, macOS viene con un marco GLUT que es compatible con su propio NSGL/ CGL .

La biblioteca GLUT de Kilgard ya no se mantiene y su licencia no permitía la redistribución de versiones modificadas de la biblioteca. Esto estimuló la necesidad de software libre o reimplementaciones de código abierto de la API desde cero. La primera de estas bibliotecas fue FreeGLUT , que pretende ser una reproducción razonablemente cercana, aunque introduce una pequeña cantidad de funciones nuevas para lidiar con las limitaciones de GLUT. OpenGLUT, una bifurcación de FreeGLUT, agrega una cantidad de características nuevas a la API original, pero el trabajo en ella cesó en mayo de 2005.

Mark Kilgard tiene un repositorio en GitHub para GLUT. [1] El archivo de encabezado glut.h contiene la siguiente licencia: [2]

/* Derechos de autor (c) Mark J. Kilgard, 1994, 1995, 1996, 1998, 2000, 2006, 2010. *//* Este programa se puede distribuir libremente sin pago de licencias y es proporcionado sin garantía expresa o implícita. Este El programa no es de dominio público. */

Limitaciones

Algunas de las decisiones de diseño originales de GLUT dificultaban a los programadores realizar las tareas deseadas. Esto llevó a muchos a crear parches y extensiones no canónicos para GLUT.[1] Algunas reimplementaciones de software libre o de código abierto también incluyen correcciones.

Algunas de las limitaciones más notables de la biblioteca GLUT original incluyen:

Dado que ya no se mantiene (básicamente fue reemplazado por el FreeGLUT de código abierto ), los problemas de diseño mencionados anteriormente aún no se han resuelto en el GLUT original.

Véase también

Referencias

  1. ^ "Glut". GitHub . 21 de noviembre de 2021. Archivado desde el original el 11 de junio de 2018 . Consultado el 13 de octubre de 2014 .
  2. ^ "Glut". GitHub . 21 de noviembre de 2021. Archivado desde el original el 3 de agosto de 2022 . Consultado el 13 de octubre de 2014 .

Enlaces externos