OHAO Engine is my physics engine developing on Linux platforms(Fedora Linux), focusing on advanced rendering techniques, procedural generation, and physics simulation.
- CMake 3.20+
- Vulkan SDK
- GLFW3
sudo dnf install cmake vulkan-devel glfw-devel git gcc-c++
# Clone the repository with submodules
git clone --recursive https://github.com/Qervas/ohao-engine.git
# Or if you already cloned without --recursive:
git clone https://github.com/Qervas/ohao-engine.git
cd ohao-engine
git submodule update --init --recursive
mkdir build
cd build
cmake ..
make -j$(nproc) # Use multiple cores for faster building
./ohao_engine
- WASD: Camera movement
- Mouse: Look around
- Space/Ctrl: Up/Down
- Shift: Speed up movement
- Esc: Exit
Currently in early development. Features being implemented:
- Basic window creation
- Vulkan initialization, validation layer, pipeline, rasterization
- Load scene from obj file, including lighting and materials
- Friendly camera control
- User interface
- BRDF and illumination model switch
- Technical Specification
- More documentation will be added as the project develops
ohao-engine/
├── src/ # Source files
├── shaders/ # GLSL shaders
├── external/ # External dependencies
│ └── imgui/ # Dear ImGui (docking branch)
├── docs/ # Documentation
└── assets/ # 3D models and textures
This project is currently in early development. Contribution guidelines will be added soon.
- Dear ImGui - Immediate mode GUI
- Vulkan - Graphics API
- GLFW - Window creation and input