项目作者: Haeri

项目描述 :
A portable modern OpenGL Game-Engine with focus on PBR
高级语言: C++
项目地址: git://github.com/Haeri/PhotonBox.git
创建时间: 2017-05-14T19:17:51Z
项目社区:https://github.com/Haeri/PhotonBox

开源协议:MIT License

下载


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 computer graphics. 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" class="reference-link"> Windows

Generate visual studio project files:

  1. git clone https://github.com/Haeri/PhotonBox.git --recursive
  2. cd PhotonBox
  3. ./scripts/generate_project_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" class="reference-link"> Linux

Generate make files:

  1. git clone https://github.com/Haeri/PhotonBox.git --recursive
  2. cd PhotonBox
  3. sudo apt update
  4. sudo apt install -y mesa-common-dev mesa-utils libgl1-mesa-dev cmake curl unzip tar
  5. ./scripts/generate_project_linux.sh

macOS" class="reference-link"> macOS

Generate xcode project files:

  1. git clone https://github.com/Haeri/PhotonBox.git --recursive
  2. cd PhotonBox
  3. ./scripts/generate_project_mac.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