All Projects → JeanPhilippeKernel → RendererEngine

JeanPhilippeKernel / RendererEngine

Licence: MIT License
2D - 3D Renderer Engine builds with OpenGL, SDL2, C++

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to RendererEngine

Xray 16
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. Join OpenXRay! ;)
Stars: ✭ 1,806 (+10523.53%)
Mutual labels:  engine, sdl2, 3d-game-engine, 3d-engine
GroundEngine
Ground Engine is an easy to use Game Engine for 3D Game Development written in C++
Stars: ✭ 61 (+258.82%)
Mutual labels:  3d-game-engine, 2d-game-engine, 3d-engine
exengine
A C99 3D game engine
Stars: ✭ 487 (+2764.71%)
Mutual labels:  engine, 3d-game-engine, 3d-engine
tnt
A 2d Game Engine written in C++20.
Stars: ✭ 30 (+76.47%)
Mutual labels:  engine, sdl2, 2d-game-engine
3D-Engine-OpenGL-4
3D Graphics Engine For Games | C++ OpenGL 4.1
Stars: ✭ 19 (+11.76%)
Mutual labels:  engine, 3d-game-engine, 3d-engine
Engine
A basic cross-platform 3D game engine
Stars: ✭ 208 (+1123.53%)
Mutual labels:  engine, sdl2, 3d-game-engine
nodesnim
The Nim GUI/2D framework, based on OpenGL and SDL2.
Stars: ✭ 127 (+647.06%)
Mutual labels:  sdl2, 3d-game-engine, 2d-game-engine
Exengine
A C99 3D game engine
Stars: ✭ 391 (+2200%)
Mutual labels:  engine, 3d-game-engine, 3d-engine
Gamedev Resources
🎮 🎲 A wonderful list of Game Development resources.
Stars: ✭ 2,054 (+11982.35%)
Mutual labels:  engine, 2d-game-engine, 3d-engine
Vulkan Renderer
A new 3D game engine using modern C++ and Vulkan API
Stars: ✭ 205 (+1105.88%)
Mutual labels:  engine, 3d-game-engine, 3d-engine
storm-engine
Game engine behind Sea Dogs, Pirates of the Caribbean and Age of Pirates games.
Stars: ✭ 636 (+3641.18%)
Mutual labels:  engine, 3d-game-engine, 3d-engine
Nero-Game-Engine
Advanced SFML Game Engine, Designed to be Simple and Intuitive
Stars: ✭ 50 (+194.12%)
Mutual labels:  engine, 2d-game-engine
ColumbusEngine
3D cross-platform game engine written in C++
Stars: ✭ 45 (+164.71%)
Mutual labels:  engine, 3d-engine
FallingSandSurvival
2D survival game inspired by Noita and slightly Terraria
Stars: ✭ 66 (+288.24%)
Mutual labels:  engine, sdl2
sdl2-raycast
SDL2 C++ raycasting engine with vertical movement, floor/ceiling texture mapping and sprites.
Stars: ✭ 80 (+370.59%)
Mutual labels:  engine, sdl2
Dome
A lightweight game development environment where games can be written in Wren
Stars: ✭ 251 (+1376.47%)
Mutual labels:  engine, sdl2
Octopuskit
2D ECS game engine in 100% Swift + SwiftUI for iOS, macOS, tvOS
Stars: ✭ 246 (+1347.06%)
Mutual labels:  engine, 2d-game-engine
RawSalmonEngine
A game engine utilising "Tiled" map files
Stars: ✭ 15 (-11.76%)
Mutual labels:  sdl2, 2d-game-engine
Py3ODE
Port of PyODE for Python 3
Stars: ✭ 29 (+70.59%)
Mutual labels:  3d-game-engine, 2d-game-engine
DeccanEngine
💠 Deccan Engine is an Open-Source Cross-Platform 2D Game Engine written in C11. Powered by SDL2.
Stars: ✭ 30 (+76.47%)
Mutual labels:  sdl2, 2d-game-engine

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 -SystemNames Windows -Architectures x64 -Configurations Debug -RunBuilds $True
      • Release version : .\Scripts\BuildEngine.ps1 -SystemNames Windows -Architectures x64 -Configurations Release -RunBuilds $True
    • Building on macOS :

      • Debug version : .\Scripts\BuildEngine.ps1 -SystemNames Darwin -Architectures x64 -Configurations Debug -RunBuilds $True
      • Release version : .\Scripts\BuildEngine.ps1 -SystemNames Darwin -Architectures x64 -Configurations Release -RunBuilds $True
    • Building on Linux :

      • Debug version : .\Scripts\BuildEngine.ps1 -SystemNames Linux -Architectures x64 -Configurations Debug -RunBuilds $True
      • Release version : .\Scripts\BuildEngine.ps1 -SystemNames Linux -Architectures x64 -Configurations Release -RunBuilds $True
  • Notes :
    • Architectures can be omitted as its default value is : x64.
    • RunBuilds can be omitted as its default value is : $True.
    • You can build Debug and Release versions at once by omitting the Configuration parameter

Dependencies

The project uses the following dependencies :

  • SDL2 for window creation and user input management for Linux,
  • GLFW for window creation and user input management for Window 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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].