A cross-platform graphics engine built with C++20
WARNING: This project is currently in active development. It may not build or run correctly on your local environment.
HSMR is a modular, cross-platform graphics engine supporting Vulkan (Windows) and Metal (macOS). The engine features an Entity-Component System, an ImGui-based editor with 3D gizmo manipulation, a runtime shader compilation pipeline, and a forward rendering architecture.
- CMake 3.22.0 or newer
- C++20 compatible compiler
- Visual Studio 2026(with CMake 4.2.1), 2022 (or 2019, untested)
- Vulkan SDK
- Xcode (latest version)
# Generate build files
cmake -S . -B Build
# Build (Debug)
cmake --build Build --config Debug
# Build (Release)
cmake --build Build --config Release
# Build a specific target
cmake --build Build --target Client --config DebugThe built executable and assets are output to Build/Debug/ (or Build/Release/).
# editor (default)
./Build/Debug/Client
# simple editor (only swapchain rendering with control panel)
./Build/Debug/Client -simple| Library | Purpose |
|---|---|
| SDL3 | Cross-platform window and input |
| ImGui | Immediate-mode GUI |
| ImGuizmo | 3D gizmo manipulation |
| ImPlot | Plot/chart widgets |
| EnTT | Entity-Component System |
| GLM | Math library |
| ASSIMP | 3D model loading |
| STB | Image loading |
| Slang | Shader compilation |
| SPIRV-Cross | Shader cross-compilation |
| Tracy | Performance profiler |
This project is licensed under the MIT License. See LICENSE for details.