Our goal is to design a platform-agnostic and multi-threaded 3D game engine by focusing on architecture, modularity and tools. The game engine should be easy to use, including setup and contribution, and support multiple grahpics APIs and file formats.
It's recommended to start by running SetupDependencies.bat
to make sure that you have the right Git submodules and libraries. You'll see a Dependencies
folder once that process is done. With the prerequisites you can use GenerateVS2019.bat
or GenerateVS2022.bat
to generate the Visual Studio Solution that will be put in Generated
. LaunchVS.bat
can be used to launch the Visual Studio Solution. The binaries and associated build files are put in Binaries
.
Name | Description |
---|---|
CMake | 3.7.0+ |
Python | Python 2.8+ |
Vulkan SDK | 1.2.162.0 |
Name | Description | License |
---|---|---|
GLAD | Multi-Language GL Loader-Generator | MIT |
GLFW | Multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input | ZLIB |
GLM | OpenGL math library | MIT |
ImGUI | Bloat-free Graphical User Interface | MIT |
RapidJSON | A fast JSON parser/generator for C++ | MIT |
STB | Collection of single-file libraries | MIT |
STDUUID | A C++17 cross-platform implementation for UUIDs | MIT |
TinyGLTF | Header only C++11 tiny glTF 2.0 library | MIT |
TinyObjLoader | Tiny but powerful single file wavefront obj loader | MIT |
Feel free to open issues in case you encounter bugs, want to make suggestions or need help.