This page is an altered Markdown adaptation of the official GLFW 3.5.1 documentation. Formatting, navigation and links were changed for libx; technical content comes from the GLFW 3.5.1 source distribution.

Introduction

GLFW is a free, Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development. It provides a simple, platform-independent API for creating windows, contexts and surfaces, reading input, handling events, etc.

news list new features, caveats and deprecations.

quick_guide is a guide for users new to GLFW. It takes you through how to write a small but complete program.

There are guides for each section of the API:

  • intro_guide – initialization, error handling and high-level design
  • window_guide – creating and working with windows and framebuffers
  • context_guide – working with OpenGL and OpenGL ES contexts
  • vulkan_guide - working with Vulkan objects and extensions
  • monitor_guide – enumerating and working with monitors and video modes
  • input_guide – receiving events, polling and processing input

Once you have written a program, see compile_guide and build_guide.

The reference documentation provides more detailed information about specific functions.

moving_guide explains what has changed and how to update existing code to use the new API.

There is a section on guarantees_limitations for pointer lifetimes, reentrancy, thread safety, event order and backward and forward compatibility.

Finally, compat_guide explains what APIs, standards and protocols GLFW uses and what happens when they are not present on a given machine.

This documentation was generated with Doxygen. The sources for it are available in both the source distribution and GitHub repository.