A common obstacle to start learning modern OpenGL is that requires several external libraries to start producing programs. I mean modern OpenGL, in the sense of programable pipeline (version 3.3 and above).
At the very least requires:
- An OpenGL extension loader library.
- A window manager library that support OpenGL context.
- A graphics mathematics library. And for an intermadiate level progammer also requires:
- A mesh loader library.
- An image reader/writer library.
- A way to create user simple IU (Could be one of the previous libraries)
A novice graphic programmer, may struggle in the use of the libraries instead of focusing in the actual OpenGL. I created several templates to help such users to have a minimal working OpenGL example. Moreover, in contrast to most of the examples in the internet and the books, I use C++ instead of C.
The current templates are:
- A minimal OpenGL template using: C++, GLEW, GLM and freeglut.
- A minimal OpenGL template using: C++, GLEW, GLM and glfw.
- An OpenGL template with an user menu (using Dear imgui) using: C++, GLEW, GLM and glfw.
- An OpenGL sample of a trackball camera implementation using GLFW.
- An OpenGL template with an user menu (using Dear imgui) using: C++, GLEW, GLM and freeglut.
- An intermediate OpenGL template with all the previous features, plus a lot of extra helper clases for OpenGL.