All Projects → Haeri → Photonbox

Haeri / Photonbox

Licence: mit
A portable modern OpenGL Game-Engine with focus on PBR

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Photonbox

Vxr
General purpose engine written in C++ with emphasis on materials rendering (PBR, clear coat, anisotropy, iridescence)
Stars: ✭ 181 (+94.62%)
Mutual labels:  game-engine, engine, opengl, pbr
Klayge
KlayGE is a cross-platform open source game engine with plugin-based architecture.
Stars: ✭ 1,646 (+1669.89%)
Mutual labels:  game-engine, engine, opengl
Opengl Renderer
Modern OpenGL renderer written in C++17
Stars: ✭ 85 (-8.6%)
Mutual labels:  game-engine, opengl, pbr
Innocenceengine
Cross-platform modern game engine.
Stars: ✭ 149 (+60.22%)
Mutual labels:  game-engine, engine, opengl
Openage
Free (as in freedom) open source clone of the Age of Empires II engine 🚀
Stars: ✭ 10,712 (+11418.28%)
Mutual labels:  game-engine, engine, opengl
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 (+1841.94%)
Mutual labels:  game-engine, engine, opengl
Daemon
The Dæmon game engine. With some bits of ioq3 and XreaL.
Stars: ✭ 136 (+46.24%)
Mutual labels:  game-engine, opengl, pbr
Voxelman
Plugin-based client-server voxel game engine written in D language
Stars: ✭ 105 (+12.9%)
Mutual labels:  game-engine, engine, opengl
Fishengine
Simple, Unity-like Game Engine.
Stars: ✭ 191 (+105.38%)
Mutual labels:  game-engine, engine, opengl
Engine
A basic cross-platform 3D game engine
Stars: ✭ 208 (+123.66%)
Mutual labels:  game-engine, engine, opengl
Tinyengine
Tiny OpenGL Wrapper / 3D Engine in C++
Stars: ✭ 251 (+169.89%)
Mutual labels:  game-engine, engine, opengl
Etengine
Realtime 3D Game-Engine with a focus on space sim. Written in C++ 14
Stars: ✭ 408 (+338.71%)
Mutual labels:  game-engine, opengl, pbr
Bansheeengine
Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting
Stars: ✭ 2,906 (+3024.73%)
Mutual labels:  game-engine, engine, opengl
Yage
Simple game engine, written in C++
Stars: ✭ 7 (-92.47%)
Mutual labels:  game-engine, engine, opengl
Dgel
A WebGPU engine.
Stars: ✭ 60 (-35.48%)
Mutual labels:  engine, opengl
Lamiae
Lamiae - A Most Prestigious RPG Engine/Simulator derived from Cube 2 (Sauerbraten) and friends
Stars: ✭ 57 (-38.71%)
Mutual labels:  game-engine, engine
Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+10923.66%)
Mutual labels:  engine, opengl
Simpleton Engine
What a stupid name for a library
Stars: ✭ 42 (-54.84%)
Mutual labels:  game-engine, opengl
Vulkust
An engine for Vulkan in Rust, tries to implement modern graphic features. (suspended for now)
Stars: ✭ 64 (-31.18%)
Mutual labels:  game-engine, engine
Dhewm3
dhewm 3 main repository
Stars: ✭ 1,261 (+1255.91%)
Mutual labels:  game-engine, opengl

Version Actions Status License

A portable modern OpenGL Game-Engine with focus on PBR

Project Goal

The PhotonBox Engine aims to be an open source resource for people interested in graphics and system architecture. The goal is to create a clean and readable codebase, whilst still maintaining good performance and a high graphical fidelity. An Editor is currently not planned as I am still exploring the possibilities for state based GUI solutions.

Rendering

  • Deferred/Forward Rendering
  • Point lights, Directional lights, Spot lights
  • SkyBox/Enviroment Mapping
  • Parallax cubeMap correction
  • Cook Torrance BRDF shader
    • Albedo Map
    • Normal Map
    • Roughness Map
    • Metallic Map
    • Ambient Occclusion Map
    • Emission Map
  • Dynamic Irradiance & Specular-Convolution generation
  • Post Processing List
    • Eye adaptation
    • Bloom
    • Tone mapping
    • SSAO
    • SSReflections
    • Temporal anti aliasing
  • Transparent/Cutout rendering
  • Shadow mapping
  • Contact shadows
  • Volumetric Fog
  • Text rendering

Systems

  • Component system
  • Scene system
  • Generic Materials
  • Lightprobe volumes
  • Resource caching
  • Async resource loading
  • Shader hot reload
  • PhysX partial integration
  • ImGui integration

Project Setup

Requirements

Windows

Generate the visual studio project file:

git clone https://github.com/Haeri/PhotonBox.git --recursive
cd PhotonBox
./tools/setup_win.bat

Make sure to open the Visual Studio project as administrator, as it needs to perform copy operatiosn to make resources files available to the binaries.

Linux

Generate the make files:

git clone https://github.com/Haeri/PhotonBox.git --recursive
cd PhotonBox
sudo apt update
sudo apt install -y mesa-common-dev mesa-utils libgl1-mesa-dev
sudo apt install -y cmake curl unzip tar 
./tools/setup_nix.sh

Mac

Generate the xcode project file:

git clone https://github.com/Haeri/PhotonBox.git --recursive
cd PhotonBox
./tools/setup_nix.sh

Media

Interiour screenshot_1 (Assets not distributed)

Automotive screenshot 2

Roadmap

RENDERING

  • Instanced rendering
  • Deferred decals
  • GTAO
  • Anisotropic filtering

GENERAL

  • Precompile shader
  • Abstraction layer over OpenGL
  • Precompiled headers
  • Switch to dynamic library compilation
  • Decoupling asset conversion from engine
  • Doxygen integration for documentation

OPTIMIZATION

  • Uniform buffer
  • SIMD math
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].