It can be used for activities such as:
- Gaming
- Scientific computation and visualization
- Windows
- macOS (under active revision)
- Linux (
DebianorUbunturecommended, under active revision)
ZEngine ships as three components:
| Component | Description |
|---|---|
| ZEngine | Core runtime — ECS, Vulkan renderer, physics, audio, VFS |
| Tetragrama | Editor built on top of ZEngine for scene authoring and asset management |
| Panzerfaust | Project launcher (C#/.NET) — creates, opens, and manages game projects. Hosted at ZodiacEngineHub |
Clone the repository:
git clone https://github.com/JeanPhilippeKernel/RendererEngine.gitAll dependencies are fetched automatically by CMake at configure time via FetchContent — no manual submodule initialization required.
- Install Visual Studio 2022 Community or Professional with "Desktop development with C++".
- Include MSVC v143 — VS 2022 C++ x64/x86 build tools and Windows 10/11 SDK.
- Install PowerShell Core
- Install Python
- Install CMake 4.1.2 or later
- Install LLVM
- Install Xcode from the App Store.
- Install Homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"- Install CMake, NuGet, PowerShell Core, and ClangFormat:
brew update
brew install cmake nuget llvm@20
brew install --cask powershell- Install build tools, CMake, and LLVM:
sudo apt update
sudo apt install build-essential cmake ninja-build llvm clang clang-format python3 nuget- Install PowerShell Core for your distribution.
- Start PowerShell Core and verify CMake is available:
cmake --version - Change directories to the repository root.
- Run the build script for the desired configuration:
- Debug:
.\Scripts\BuildEngine.ps1 -Configurations Debug -RunBuilds $True - Release:
.\Scripts\BuildEngine.ps1 -Configurations Release -RunBuilds $True
- Debug:
Notes:
-RunBuilds $Falsegenerates the build directory without compiling.- Omitting
-Configurationsbuilds both Debug and Release.
See our roadmap here: Roadmap
Contributions are welcome. Please read Contributing.md before opening a pull request.
All dependencies are fetched automatically via CMake FetchContent:
- Vulkan-Headers + Vulkan-Loader — Vulkan API
- GLFW — window creation and input management
- STB — image loading for textures
- ImGUI — GUI components
- ImGuizmo — editor transform gizmos
- SPDLOG — logging
- fmt — string formatting
- EnTT — entity component system
- Assimp — 2D/3D asset loading
- yaml-cpp — YAML parsing
- nlohmann/json — JSON parsing
- SPIRV-Cross + glslang + SPIRV-Tools — shader compilation
- VulkanMemoryAllocator — GPU memory management
- stduuid — UUID generation
- CLI11 — command-line argument parsing
- rapidhash — fast hashing
- miniz — compression
- GoogleTest — unit testing
ZEngine is licensed under the MIT License.
