/GL-Template

A Multi-platform OpenGL Application Template

Primary LanguageC++

OpenGL Template

English | 中文

Build Status Linux Windows OSX

A simple OpenGL application template aiming at reducing the procedures of varied configurations on different platforms with the help of CMake. Some OpenGL functions are also packaged for reference(Under development). An additional function is also provided to embed resource files such as images, shaders into a single executable file.

Examples can be found in ./example.

Build

Windows(Mingw)

git submodule update --init
mkdir build
cd build
cmake .. -G "MinGW Makefiles"
make

Windows(Visual Studio 2017 or higher)

  1. Files->Open->CMake, choose CMakeLists.txt in the root directory of this project.

  2. CMake->Generate all

Linux

git submodule update --init
mkdir build
cd build
cmake ..
make

OSX

git submodule update --init
mkdir build
cd build
cmake ..
make

3rd-party libraries

  1. assimp: The official Open-Asset-Importer-Library Repository.

  2. bin2c: A very simple utility for converting a binary file to a c source file.

  3. glew-cmake: GLEW is a cross-platform open-source C/C++ extension loading library.

  4. glfw: A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input.

  5. glm: GLM is a header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specifications.

  6. imgui: ImGui is a bloat-free graphical user interface library for C++.

  7. mango: A multi-platform low-level development framework for graphics programmers.

Related Documents

  1. Quaternion proof

  2. What are the different texture maps for

Screenshots

Shade

Normal Visualization

Guided filter

Imgui