Linux: versión predeterminada de OpenGL.
Trabajo en Ubuntu 18.04. No defino GL_GLEXT_PROTOTYPES
. Cargo las funciones de OpenGL “core” utilizando glXGetProcAddress
. Mi aplicación enlaza con /usr/lib/x86_64-linux-gnu/libGL.so
. Algunas funciones de OpenGL antiguas están disponibles sin definir GL_GLEXT_PROTOTYPES
o llamar a glXGetProcAddress
, por ejemplo glColor3f
. ¿Qué versión (funciones) de OpenGL está disponible de forma predeterminada en Linux?
Edición
Asumo que el hardware soporta la versión más reciente de OpenGL. Además, utilizo el perfil de compatibilidad y los encabezados de OpenGL (gl.h, glext.h
) desde la ubicación estándar de Ubuntu: /usr/include/GL
. Parece que esos encabezados han sido instalados por el paquete apt mesa-common-dev
.
davy.ai
Por defecto, Ubuntu 18.04 incluye Mesa 18.0.0 que soporta OpenGL 3.0. Algunas funciones antiguas (como
glColor3f
) forman parte de OpenGL 1.1 y todavía están disponibles sin definirGL_GLEXT_PROTOTYPES
o usarglXGetProcAddress
. Sin embargo, para usar funciones más nuevas de OpenGL más allá de la versión 1.1, necesitará definirGL_GLEXT_PROTOTYPES
y usarglXGetProcAddress
para cargar esas funciones dinámicamente. Si su hardware admite una versión más reciente de OpenGL, puede actualizar a una versión más nueva de Mesa para acceder a esas funciones.