View Full Version : where to download library GLXW?

07-08-2017, 02:16 AM
Hello! Does anybody know what is the library GLXW?
And where it is possible to download it? Please
give me a link!

Dark Photon
07-08-2017, 12:50 PM
I'd never heard of it. This section (https://www.khronos.org/opengl/wiki/OpenGL_Loading_Library#glad_.28Multi-Language_GL.2FGLES.2FEGL.2FGLX.2FWGL_Loader-Generator.29) in the OpenGL wiki mentions it. Based on that, this looks like it might be it:

* GKXW (https://github.com/rikusalminen/glxw) (Github: rikusalminen)

Here's a blog post where someone picked this up and used it:

* Getting Started with OpenGL in C++ (https://christophercrouzet.com/blog/post/2014/08/04/Getting-Started-with-OpenGL-in-C)

As this isn't a common package many folks have pre-tested, I'd suggest looking through the source first to make sure that you're comfortable with it.

07-08-2017, 11:46 PM
Thank you for the quick answer!
I am beginner of OpenGL. I am looking for examples of printing
text (2D) with OpenGL for Linux.

One of examples needs library GLXW.
But doesn't includes it. The directory GLXW is empty...
But there is line "#include <GLXW/glxw.h>" in the "main.cpp"...

I tried replace this line with: "#include <GL/glx.h>" but
had a message "undefined reference to 'glxwInit'" when linking.
(And others functions (very much) are undefined too.)

The author of lessons doesn't not answer...
I coudn't find it in "Google"! So I asked here about it.
Thank you for the answer and links!

07-10-2017, 02:45 PM
On Windows you need to include the gl.h header for OpenGL 1.1 support and link against OpenGL32.lib. Both are a part of the Windows SDK. In addition, you might want the following headers which you can get from http://www.opengl.org/registry .
<GL/glext.h> - OpenGL 1.2 and above compatibility profile and extension interfaces..
<GL/glcorearb.h> - OpenGL core profile and ARB extension interfaces, as described in appendix G.2 of the OpenGL 4.3 Specification. Does not include interfaces found only in the compatibility profile.
<GL/glxext.h> - GLX 1.3 and above API and GLX extension interfaces.
<GL/wglext.h> - WGL extension interfaces.
On Linux you need to link against libGL.so, which is usually a symlink to libGL.so.1, which is yet a symlink to the actual library/driver which is a part of your graphics driver. For example, on my system the actual driver library is named libGL.so.256.53, which is the version number of the nvidia driver I use. You also need to include the gl.h header, which is usually a part of a Mesa or Xorg package. Again, you might need glext.h and glxext.h from http://www.opengl.org/registry . glxext.h holds GLX extensions, the equivalent to wglext.h on Windows.
If you want to use OpenGL 3.x or OpenGL 4.x functionality without the functionality which were moved into the GL_ARB_compatibility extension, use the new gl3.h header from the registry webpage. It replaces gl.h and also glext.h (as long as you only need core functionality).
Last but not the least, glaux.h is not a header associated with OpenGL. I assume you've read the awful NEHE tutorials and just went along with it. Glaux is a horribly outdated Win32 library (1996) for loading uncompressed bitmaps. Use something better, like libPNG, which also supports alpha channels.

Ethan Stark

Dark Photon
07-10-2017, 04:10 PM
Last but not the least, glaux.h is not a header associated with OpenGL. ... Glaux is a horribly outdated Win32 library (1996) for loading uncompressed bitmaps.

He's asking about GLXW, not GLAUX.