ZEngine is an open-source 3D rendering engine written in C++ and using Vulkan as graphic API. It can be used for activities such as:
- Gaming
- Scientific computation and visualization
- Windows
- macOS (Under active revision as of today)
- Linux (
DebianorUbuntuare recommended systems) (Under active revision as of today)
Before building, make sure your setup is correct :
- Install Visual Studio 2022 Community or Professional, make sure to add "Desktop development with C++".
- Install 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 DOTNET SDK 8 as a VS Build Tool component (if using a standalone implementation, you might need to create a symlink between your custom installation location and the expected location:
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Sdks\Microsoft.NET.Sdk\Sdk) - Install LLVM
- Install Xcode from the App Store.
- Install Homebrew from a terminal:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"- Install CMake (version 4.1.2 or later) through Homebrew :
brew update
brew install cmake- Install NuGet through Homebrew :
brew update
brew install nuget- Install PowerShell Core through Homebrew:
brew update
brew install --cask powershell-
Install DOTNET SDK 8
-
Install ClangFormat through Homebrew:
brew update
brew install llvm@20- Start
Powershell Coreand make sure that you can run CMake, You can typecmake --versionto simply output the current CMake version installed. - Change directories to the location where you've cloned the repository.
- Run the following command depending on the configuration:
- Debug version :
.\Scripts\BuildEngine.ps1 -Configurations Debug -RunBuilds $True - Release version :
.\Scripts\BuildEngine.ps1 -Configurations Release -RunBuilds $True
- Debug version :
To only build the Launcher only, you can specify -LauncherOnly which will skip building the engine :
- Debug version :
.\Scripts\BuildEngine.ps1 -Configurations Debug -RunBuilds $True -LauncherOnly - Release version :
.\Scripts\BuildEngine.ps1 -Configurations Release -RunBuilds $True -LauncherOnly
- Setting
-RunBuildsto$falsewill result to only generate the build directory. - Omitting
-Configurationwill result to generate and build for bothDebugandReleaseversions.
See our roadmap here Roadmap
The project uses the following dependencies as submodules :
- GLFW for window creation and user input management for Windows, Linux, and MacOS,
- STB for loading and manipulating image files for textures.
- ImGUI for GUI components and interaction.
- SPDLOG for logging
- EnTT for entity component system
- Assimp for managing and loading asset 2D -3D models
- yaml-cpp for parsing and emitting YAML files
