WORK IN PROGRESS.
A small game engine written in C++20 using OpenGL.
The goal of this project is to learn and explore the architecture and implementation of a game engine, including rendering, window management, and engine systems.
- C++20 engine architecture
- OpenGL 4.6 rendering
- GLFW window management
- GLAD OpenGL loader
- CMake build system
- C++20 compatible compiler
- CMake 3.20+
- OpenGL 4.6 capable GPU
sudo apt install libwayland-dev libxkbcommon-dev xorg-devClone the repository:
git clone <repository-url>
cd game_engineSync submodules:
git submodule init
git submodule updateConfigure and build:
mkdir build
cd build
cmake ..
cmake --build .Run:
./GameEngineengine/
├── include/
│ └── core/
│ └── window.h
├── src/
│ └── core/
│ └── window.cc
sandbox/
└── main.cc
external/
├── glad/
│ └── ...
├── glfw/
│ └── ...
✅ Done 🔄 In progress ⬜ Planned
- ✅ GLFW integration
- ✅ GLAD integration
- ✅ OpenGL context management
- ✅ Window system
- ✅ Time system
- ✅ Buffer abstraction (VAO/VBO/EBO)
- ✅ Vertex layout system
- ✅ Shader system
- ✅ Mesh system
- ✅ OBJ parsing
- ✅ OBJ → Mesh conversion
- 🔄 Renderer implementation
- 🔄 Camera system
- 🔄 Transform system
- 🔄 Application/game loop
- ⬜ Texture system
- ⬜ Material system
- ⬜ Input system
- ⬜ Entity/Component system
- ⬜ Scene management
- ⬜ Animation system