This is a custom scene showing bounding volumes of in-game objects for frustum culling.

Introduction

Tokzin is a game engine that features physically based rendering. It supports both forward and deferred render modes and uses OpenGL internally. A great deal of real-time rendering algorithms has been added into the core of the engine. Other than that, audio is implemented via OpenAL and a third-party physics simulator (Bullet) is integrated into the engine. Tokzin was written in Java and took approximately 3 years to develop.

List of Main Features

  • Physically based materials (Cook-Torrance, metalness workflow)
  • Forward & Deferred render pipeline
  • Soft Shadow
    • Percentage Closer Filtering (PCF)
    • Variance Shadow Map (VSM)
  • Normal compression (Crytek’s G-buffer compression algorithm)
  • Image based lighting
    • Specular roughness mipmaps
    • Diffuse map based on spherical harmonics
  • Screen Space Ambient Occlusion (SSAO)
  • Fast Approximate Anti-Aliasing (FXAA)
  • Dynamic lights
    • directional light
    • point light
    • spot light
    • line light
  • Lens Flare
  • Volumetric Light Shafts (godrays)
  • Volumetric Fog
  • Frustum Culling (based on octree)
  • Texture mapping
    • Normal mapping
    • Relief mapping
    • Parallax occlusion mapping
    • Specular (roughness) mapping
    • Environment mapping
  • High Dynamic Range (HDR) rendering
  • Specular occlusion (Frostbite’s method)
  • Billboards
  • OpenGL state sorting (optimization)
  • Custom GUI (based on OpenGL)
  • Physics engine integration (Bullet)
  • Audio (based on OpenAL)

Video Documentations

Optimizations on Model Loading, Frustum Culling and Events

Rigid Body Colliders, Debug Render, God Rays, GUI System

Deferred Rendering with Stencil Light Culler

Basic Physics & Stress Test

You can find more videos about Tokzin here.

Images

Custom algorithm test site
Various Utah teapot with different PBR materials
Using Mitsuba material ball for development
Filling the famous Sponza scene with random objects