¿Qué es GLEW y cómo funciona?


15

Estoy buscando una explicación amigable para principiantes . La explicación del sitio web oficial es demasiado corta y me lleva a más preguntas que respuestas:


  • ¿Qué es GLEW?

La página del desarrollador de GLEW dice:

OpenGL Extension Wrangler Library (GLEW) es una biblioteca de carga de extensiones C / C ++ multiplataforma de código abierto . GLEW proporciona mecanismos eficientes de tiempo de ejecución para determinar qué extensiones de OpenGL son compatibles con la plataforma de destino.


  • Pero, ¿qué es una biblioteca de carga de extensiones?

El wiki de OpenGL dice

Una biblioteca de carga de OpenGL es una biblioteca que carga punteros a las funciones de OpenGL en tiempo de ejecución, núcleo y extensiones .


  • ¿Qué significa cargar punteros a las funciones de OpenGL ?

  • ¿Qué es una extensión ?

  • ¿Qué significa " núcleo y extensiones "?

Respuestas:


20

La mayoría de los compiladores le dan un encabezado OpenGL que proporciona soporte para OpenGL 1.1, pero la mayoría de las funciones proporcionadas en esa versión de OpenGL han quedado obsoletas desde hace mucho tiempo, y carece de características importantes como sombreadores y objetos de búfer de vértices. GLEW es básicamente solo un encabezado (hay un archivo fuente que también debe compilarse, pero puede incluirlo en su proyecto) que proporciona la funcionalidad más nueva de OpenGL.

¿Qué significa por extensión?

Aquí hay un enlace de OpenGL.org sobre ellos. Son solo funciones adicionales para OpenGL que no forman parte de OpenGL. Proporcionan una funcionalidad que puede ser útil, pero no puede garantizar que funcionarán en todas las computadoras, ya que no forman parte de OpenGL.

¿Qué significa cargar punteros a las funciones de OpenGL?

OpenGL se implementa mediante el controlador de gráficos como un conjunto de funciones implementadas de acuerdo con las especificaciones, no como una biblioteca independiente, por lo tanto, no se puede vincular simplemente a su proyecto.

Debe llamar a una función (como GetProcAddress, pero depende de la plataforma para la que esté desarrollando) para obtener el puntero de la función en tiempo de ejecución del controlador para cada función OpenGL.

GLEW existe porque hacer eso puede ser muy difícil. Es mucho más fácil cuando puede incluir un encabezado y llamar a una función durante la inicialización, que es exactamente lo que hace GLEW. Además, GLEW es multiplataforma.

¿Qué significa "núcleo y extensiones"?

Significa que proporciona funciones de OpenGL, así como extensiones de OpenGL.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.