This project is a learning exercise focused on building a performant open world game engine in C++20, with an emphasis on rendering optimizations and modern graphics techniques. It uses OpenGL for rendering and GLFW for window/context management.
- Written in modern C++ (C++20)
- Uses OpenGL (3.3+) for graphics rendering
- GLFW for cross-platform window and input handling
- GLM for mathematics and vector operations
- stb_image for image loading
- Modular codebase for extensibility
You do NOT need to manually install any dependencies.
All required libraries (GLFW, GLM, stb_image) are automatically downloaded and configured via CMake's dependency manager.
Just follow the setup steps below.
git clone https://github.com/yourusername/game-engine.git
cd game-engineMake sure you have CMake (>= 3.16) and a C++20-compatible compiler installed.
cmake -S . -B build
cmake --build buildThis will automatically fetch and build all dependencies.
After building, the executable will be located in the build directory:
./build/GameEnginesrc/— Main source codeinclude/— Public headersshaders/— GLSL shader programsdocumentation/— Design notes and documentationbuild/— CMake build output (created after building)
Contributions, suggestions, and bug reports are welcome!
Please open an issue or submit a pull request.
This project is released under the MIT License.
See LICENSE for details.