/RendererEngine

2D - 3D Renderer Engine builds with OpenGL, C++

Primary LanguageCMIT LicenseMIT

ZEngine Window Build ZEngine Linux Build ZEngine macOS Build

ZEngine

ZEngine is an open-source 2D - 3D rendering engine written in C++ and using OpenGL as graphic API. It can be used for activities such as:

  • game prototyping
  • scientific computation and visualization

Supported Platforms:

  • Windows
  • macOS
  • Linux (Debian or Ubuntu are recommended systems)

Setup

Before building, make sure your setup is correct :

Setup Window machine

  • Install Visual Studio 2019 Community or Professional, make sure to add "Desktop development with C++".
  • Install PowerShell Core

Setup macOS machine

  • Install lastest version of Visual Studio Code or any text editor
  • Install PowerShell Core
  • Install compiler Apple Clang (most recent version)

Setup Linux machine

  • Install lastest version of Visual Studio Code or any text editor
  • Install PowerShell Core
  • Install compiler gcc-11
  • Install debugger gdb
  • Install packages libxext-dev libasound2-dev libgl1-mesa-dev libpulse-dev libudev-dev libdbus-1-dev libx11-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxss-dev libxt-dev libxxf86vm-dev

Building

As this project uses differents dependencies, make sure you've cloned the project with the --recursive option. You can also do git submodule update --init --recursive.

  1. Install CMake 3.20 or later.
  2. Start Powershell Core and make sure that you can run CMake, you can type cmake --version to simply output the current CMake's version installed.
  3. Change directories to the location where you've cloned the repository.
  4. Building on different systems
    • Building on Windows :

      • Debug version : .\Scripts\BuildEngine.ps1 -Configurations Debug -RunBuilds $True -VsVersion 2019
      • Release version : .\Scripts\BuildEngine.ps1 -Configurations Release -RunBuilds $True -VsVersion 2019
    • Building on macOS and Linux :

      • Debug version : .\Scripts\BuildEngine.ps1 -Configurations Debug -RunBuilds $True
      • Release version : .\Scripts\BuildEngine.ps1 -Configurations Release -RunBuilds $True
  • Notes :
    • RunBuilds can be omitted as its default value is : $True.
    • You can build Debug and Release versions at once by omitting the Configuration parameter
    • On Windows, you can specify the Visual Studio version with VsVersion, it can be omitted as its default value is : 2019

Dependencies

The project uses the following dependencies :

  • GLFW for window creation and user input management for Window, Linux and MacOS,
  • GLM for functions and mathematical calculations,
  • GLAD for openGL functions
  • 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 assest 2D -3D models
  • yaml-cpp for parsing and emitting YAML files