The recipes in this book use some of the latest and greatest features in OpenGL 4.x. Therefore, in order to implement them, you'll need graphics hardware (graphics card or onboard GPU) and drivers that support at least OpenGL 4.6. However, many of the recipes will work with earlier versions. If you're unsure about what version of OpenGL your setup can support, there are a number of utilities available for determining this information. One option is GLview from Realtech VR, available at: http://www.realtech-vr.com/glview/.
If you're running Windows or Linux, drivers are readily available for most modern hardware. However, if you're using macOS, unfortunately, you're stuck with OpenGL 4.1. Apple has officially deprecated OpenGL, so there won't be any official updates coming. However, a large number of these recipes will function under OpenGL 4.1 (sometimes with minor tweaks).
Once you've verified that you have the required OpenGL drivers, you'll also need the following:
- A C++ compiler. On Linux, the GNU Compiler Collection (gcc, g++, and so on) may already be available, and if not, it should be available through your distribution's package manager. On Windows, Microsoft Visual Studio will work fine, but if you don't have a copy, then the MinGW compiler (available from http://mingw.org/) is a good option.
- The GLFW library Version 3.0 or later, available from http://www.glfw.org/. This library provides OpenGL context creation, window support, and support for user input events.
- The GLM library Version 0.9.6 or later, available from http://glm.g-truc.net/. This provides mathematics support with classes for matrices, vectors, common transformations, noise functions, and much more