Funny C++ graphics framework that I use for my personal projects.
- Wrappers for GLFW, Imgui and OpenGL (might add some other backends in the future)
- Resource loading (texture atlases, fonts, models...)
- Some maths for physics and collisions
- Some stl implementations
Clone the library in your libraries folder recursing submodules
cd my_funny_project/
mkdir -p lib/
git clone https://github.com/nesktf/shogle.git ./lib/shogle --recurse-submodules
You will need the following dependencies
- CMake
- GLFW3
- FreeType
- libfmt
- glm
- assimp
- PkgConfig
Only tested on Debian 12 Bookworm and Arch Linux, should work fine in other distros if you install the appropiate dependencies. Windows is not supported (for now).
$ sudo apt install cmake libglfw3-dev libfreetype-dev libfmt-dev libglm-dev libassimp-dev
Then add the following in your project's CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(my_funny_project CXX C)
# ...
add_subdirectory("lib/shogle")
# ...
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 20)
target_link_libraries(${PROJECT_NAME} shogle)
Build them using using the following commands
$ cmake -B build -DCMAKE_BUILD_TYPE=Debug -DSHOGLE_ENABLE_IMGUI=1 -DSHOGLE_BUILD_DEMOS=1
$ make -C build -j4
You can also check out some of my other projects that are using this framework