¿Cómo obtener la biblioteca / encabezados GL?

#include  #include  #include  

Este es un ejemplo, pero ¿dónde obtener encabezados GL?

Windows

En Windows, debe incluir el encabezado gl.h para la gl.h con OpenGL 1.1 y un enlace contra OpenGL32.lib. Ambos son parte del SDK de Windows . Además, es posible que desee los siguientes encabezados que puede obtener de http://www.opengl.org/registry .

  • – Interfaces de extensión y perfil de compatibilidad OpenGL 1.2 y superiores ..
  • perfil de núcleo OpenGL y extensión ARB, como se describe en el apéndice G.2 de la Especificación OpenGL 4.3. No incluye interfaces encontradas solo en el perfil de compatibilidad.
  • – GLX 1.3 y superiores API y las interfaces de extensión GLX.
  • – Interfaces de extensión WGL.

Linux

En Linux, debe vincularse con libGL.so, que suele ser un enlace simbólico a libGL.so.1, que aún es un enlace simbólico a la biblioteca / controlador real que forma parte de su controlador de gráficos. Por ejemplo, en mi sistema, la biblioteca de controladores real se llama libGL.so.256.53, que es el número de versión del controlador nvidia que uso. También debe incluir el encabezado gl.h , que generalmente forma parte de un paquete Mesa o Xorg. De nuevo, es posible que necesite glext.h y glxext.h de http://www.opengl.org/registry . glxext.h tiene extensiones GLX, el equivalente a wglext.h en Windows.

Si desea usar la funcionalidad OpenGL 3.x u OpenGL 4.x sin la funcionalidad que se movió a la extensión GL_ARB_compatibility , use el nuevo encabezado gl3.h de la página web del registro. Reemplaza a gl.h y también a glext.h (siempre y cuando solo necesite la funcionalidad del núcleo).

Por último, pero no menos importante, glaux.h no es un encabezado asociado con OpenGL. Supongo que has leído los horribles tutoriales de NEHE y simplemente seguiste con esto. Glaux es una biblioteca Win32 horriblemente desactualizada (1996) para cargar mapas de bits sin comprimir. Usa algo mejor, como libPNG, que también admite canales alfa.

Linux

 sudo apt-get update OpenGL: sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev 

Windows

Ubique su carpeta de Visual Studio donde coloque las bibliotecas y también los archivos de encabezado, descargue y copie los archivos lib en la carpeta lib y los archivos de encabezado en el encabezado. Luego copie los archivos dll a system32. Entonces su código se ejecutará al 100%.

También Windows : para todos esos incluidos solo necesitas descargar glut32.lib , glut.h , glut32.dll .

En Visual Studio:

 //OpenGL #pragma comment(lib, "opengl32") #pragma comment(lib, "glu32") #include  #include  

Los encabezados están en el SDK: C: \ Archivos de progtwig \ Microsoft SDKs \ Windows \ v7.0A \ Include \ gl

¿Qué sistema operativo?

Aquí en Ubuntu, tengo

 $ dpkg -S /usr/include/GL/gl.h mesa-common-dev: /usr/include/GL/gl.h $ 

pero no la diferencia en a) mayúsculas y b) barras diagonales hacia adelante / hacia atrás. Es probable que su ejemplo sea incorrecto en el uso de barras invertidas.

Si está en Windows, se instalan con la plataforma SDK (o Visual Studio). Sin embargo, los archivos de encabezado solo son compatibles con OpenGL 1.1. Es necesario crear punteros de función para la nueva funcionalidad que las versiones posteriores. ¿Puede aclarar qué versión de OpenGL está intentando usar?