Very excited for this release! GLFW is part of the foundation for a UI framework we're building called Revery [1] and there are several features in 3.3 that will be useful for us - transparent framebuffers, headless backend via OSMesa (important for CI / automation), and high-DPI improvements.
GLFW takes a lot of the pain out of cross-platform GPU development, and I've found the API simple and intuitive to work with. For those looking to play with it - the LearnOpenGL tutorial series [2] is excellent, and uses GLFW for managing a window and getting an OpenGL context.
Thank you maintainers for your work on it!
- [1] Revery: https://github.com/revery-ui/revery
- [2] LearnOpenGL: https://learnopengl.com/Getting-started/Creating-a-window
Nice to see this is still in development. I wrote GLWF bindings for two languages and it was pretty easy to grok. It's also absolutely essential if you want to have an UI in a language without support for GUIs (like golang). Just use the OpenGL backend for the immediate mode UI lib of your choice (dear-imgui, nuklear, ...) and GLFW for the window setup and you're golden.
Excellent! I've been using GLFW_TRANSPARENT_FRAMEBUFFER for over a year, but kept having to do builds out of Git to get support. It will be nice when this new library trickles into Linux distros over the next year.
"GLFW is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan development on the desktop. It provides a simple API for creating windows, contexts and surfaces, receiving input and events."
As a nice complement to GLFW, there's also bgfx which can be configured to use GLFW:
Can somebody explain what are the advantages of glfw over freeglut? (other than the non-issue of "being" old)
I am using freeglut for casual opengl code, and I see no problem with it. Is there anything that I am missing?
Finally, I was waiting for this release, they fixed an annoying click event bug on Linux.
Hard to know why this bug had to wait so long for a fix. Where are the delays coming from?
Dynamic loading of backends, i.e. supporting X11 and Wayland with the same build (PR #1338) didn't make it :(
For those who wonder what GLFW is... if you want to play with OpenGL or Vulkan, make a graphics demo, or make a game, GLFW is a library that frees you from having to deal with the nuances of Win32/X11/etc, wrangles keyboard inputs and other things across platforms.
It is similar to LibSDL, but is more lightweight and GPU-centric. GLFW is designed more with greenfield projects in mind, whereas LibSDL was designed from the beginning to help with porting existing code. (They are both excellent libraries.)