RendererEngine
RendererEngine copied to clipboard
3D Renderer Engine builds with Vulkan and C++ 20
ZEngine
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
Supported Platforms:
- Windows
- macOS (Under active revision as of today)
- Linux (
DebianorUbuntuare recommended systems) (Under active revision as of today)
Setup
Before building, make sure your setup is correct :
Setup Window machine
- Install Visual Studio 2022 Community or Professional, make sure to add "Desktop development with C++".
- Install PowerShell Core
- Install Vulkan SDK (uncheck the GLM headers component when installing)
Building
- Install CMake 3.20 or later.
- 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.
- Building on different systems
- Building on Windows :
- Debug version :
.\Scripts\BuildEngine.ps1 -Configurations Debug -RunBuilds $True -VsVersion 2022 - Release version :
.\Scripts\BuildEngine.ps1 -Configurations Release -RunBuilds $True -VsVersion 2022
- Debug version :
- Building on Windows :
- Notes :
RunBuildscan be omitted as its default value is:$True.- You can build
DebugandReleaseversions at once by omitting theConfigurationparameter - On Windows, you can specify the Visual Studio version with
VsVersion, it can be omitted as its default value is:2022
Dependencies
The project uses the following dependencies as submodules :
- GLFW for window creation and user input management for Windows, Linux, and MacOS,
- GLM for functions and mathematical calculations,
- 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