
There should also be several example programs under build/examples.

We’re mostly interested in file libglfw3.a under build/src. Then cd to the directory where you unpacked such GLFW sources (e.g., cd glfw-3.3), create a build subdirectory and invoke cmake: mkdir buildĭone. (That might take a while.) Unpack GLFW sources. Mingw-w64-x86_64-toolchain git subversion mercurial \ You can install all those tools via: pacman -S -needed base-devel mingw-w64-i686-toolchain \ Verify that you’re running mingw64, and that you have all the required development tools for building GLFW with CMake. Once we’ve downloaded the source package of GLFW, it’s compilation time. Download the source package of the GLFW library from here. It will not play sounds, or load images, etc. Notice that GLFW is focused on management of windows, OpenGL contexts, user input and time.

GLFW is a C library which provides a neat abstraction layer to handle all of this on several platforms. These functionalities depend on the operating system. Besides, our Eclipse CDT project will be compiled with the gcc version of mingw-w64.Īs told, OpenGL does not provide any facility to create a window, retrieve user input, create the OpenGL context, etc. Windows operating system (64 bits.) Things will be a tad different for macOS and Linux users.In the following, I assume we’re using a 64 bits version of Windows. We’ll create an empty window with an OpenGL context, using the GLFW and GLAD libraries. So we want to build a minimal OpenGL application on Windows. We’ll need auxiliar libraries for all of that. It does not even have functions to create or close a window. It won’t handle user input, or sound playback, or loading a PNG image. It’s an API to write and read data from a framebuffer, and that’s it. That’s why OpenGL is a common topic in the game development scene. I’ll skip the details about the client-server model, but OpenGL allows a client program to communicate with GPUs (Graphic Processing Units, e.g., your videocard) to achieve faster, hardware-accelerated rendering. Typically, an API defines a set of functions, protocols and/or tools. Remember that an API (Application Programming Interface) is an interface for interaction between components of a system. OpenGL is an API to render 2D and 3D graphics.
