Dungeon tease

A dungeon tease and rendering show case.

November 26, 2017 - 2 minute read -
opengl cpp mac

I have been working on a personal rendering engine these days. Although there are lots needed to deal with and it is really just a beginning, finally here comes the first tease! :tada:

Features

Features currently supported:

  • PBR real time physics base rendering algorithm and HDR.
  • render queue a node based render queue, that contributes to performance by reducing api calls.
  • render pass separated render pass, such as G-buffer, effect, lighting, shadow, making the whole process more controllable and also contributing to rendering performance.
  • frustum culling cull everything that is not inside the camera.
  • shadow mapping real time shader based shadow mapping.
  • SSAO real time screen-space SSAO.
  • particles system better looking and performance, easy to implement.
  • instance object implement of OpenGL instance draw feature.
  • ECS Entity Component & GameObject System just like Unity Engine.
  • motion blending bone animation blending, supporting all the animations from mixamo.com.
  • third person controller player-camera controller just like all the third person game, supporting PS4 controller.
  • import blender file blender is an awesome software. All the stages were edited in blender.

And some new features are one the way, such like baked shadow and lighting LUT filter bloom and blur.

Download

  • Source code available on GitHub (without assets).
  • Download this demo here. (required: OSX 10.13 or later, PS4 controller).

dungeon tease

Frameworks

  • OpenGL ES 3.2 & GLM Core graphic api and core math library.

  • Assimp Although I have wrote some model loader program by myself, Assimp is more professional library and can handle more complex situations. Open Asset Import Library (short name: Assimp) is a portable Open Source library to import various well-known 3D model formats in a uniform manner.

  • stb Public domain C image loading library by nothings.

Assets

Bibliography