C++ framework combining the Core and Graphics modules of the Concerto project.
Developed for learning purposes.
| Platform | Status |
|---|---|
| Windows | |
| Linux | |
| macOS |
Foundation library: types, math, networking (ENet), serialization, signals, thread pool, DynLib, logger (spdlog), and more.
Low-level rendering layer featuring:
- RHI - multi-backend abstraction (Vulkan / DX12)
- Vulkan backend - Vulkan wrapping via volk + VMA
- DX12 backend - Direct3D 12 wrapping (Windows only)
- Profiler - optional Tracy integration
- xmake >= 2.8
- C++20 compiler (MSVC, Clang, GCC)
- Vulkan SDK (for the Vulkan backend)
- DX12 (Windows only, included in the Windows SDK)
# Debug
xmake config -m debug
# Release
xmake config -m release
# With examples
xmake config -m debug --examples=true
# With Tracy profiler
xmake config -m debug --profiling=truexmakexmake config --tests=true
xmake
xmake run concerto-core-tests# CMakeLists
xmake project -k cmakelists
# Visual Studio
xmake project -k vsxmakeSrc/
Concerto/
Core/ # Core module
Graphics/ # Graphics module (RHI, Vulkan/DX12 backends)
Profiler/ # Profiler module (Tracy)
Examples/
Core/ # Core examples
Graphics/ # Graphics examples (RHI)
Tests/
Core/ # Core unit tests (Catch2)
Shaders/ # NZSL / GLSL shaders
Xmake/ # Custom xmake rules
assets/ # Test assets