A minimalistic boilerplate for OpenGL with C++ derived from Glitter. Its intended use is to get smaller OpenGL projects quickly up and running for the graphics courses at NTNU.
The following libraries are included with this project:
Library | Function |
---|---|
glad | OpenGL function loader |
glfw | Window creation and input handler |
glm | OpenGL mathematics |
stb | Various libraries, e.g. image loading |
Additional functionality can be added by altering CMakeLists.txt
.
- CMake (v.3.*) is used to generate platform-specific makefiles and workspaces.
Please refer to the individual library repositories for more information about additional dependencies.
The project and all third-party libraries can be downloaded by cloning this repository with the --recursive
flag.
git clone --recursive https://github.com/senbon/gloom.git
If you have already cloned the repository and missed the --recursive
flag, then the following grabs all dependencies.
git submodule update --init
With all dependencies installed, compiling the project is as easy as running CMake followed by the make
command.
# Change into the directory where you want your makefiles
cd ./gloom/build
# Generate UNIX Makefile (point CMake to CMakeLists.txt)
cmake ..
# Execute make command
make
# Run executable
./gloom/gloom
Specific generators can also be specified with CMake if you want to create workspaces for an IDE, for example:
cmake -G "CodeBlocks - Unix Makefiles"
- Set the source code file to the root directory containing
CMakeLists.txt
- Binaries can be built in the directory of your choice, e.g.
gloom\build\
- Click the configure button and select which generator you would like to use
- Click the generate button
- If your generator is an IDE such as Visual Studio, then open up the newly created .sln file and build
ALL_BUILD
. After this you might want to setgloom
as you StartUp Project.
The full documentation can be found on the repository wiki. Among other things, the wiki includes information on how to use the shader and camera class bundled with gloom.