GLFW (Graphics Library Framework) is a lightweight utility library for use with OpenGL. It provides programmers with the ability to create and manage windows and OpenGL contexts, as well as handle joystick, keyboard and mouse input.
It essentially is the link between the OS and the OpenGL API allowing the developper to create a Window and linking the window to an OpenGL context.
In computer graphics, double buffering is used to prevent flickering when updating the content of a window or screen.
Here's how it works:
By using double buffering, the screen is never updated partially while the new content is being drawn. Instead, the entire screen is updated at once when the back buffer is swapped with the primary buffer. This prevents flickering and creates a smoother visual experience for the user.