Skip to content

Features

tobspr edited this page Jan 16, 2016 · 48 revisions

This page lists the already implemented Features, the features to be implemented, and the TODO list:

Features

This is the stuff the pipeline already supports:

  • Full deferred rendering
    • Clustered deferred lighting
  • Physically based shading
  • Directional shadows with PSSM
    • PCF filtering
    • PCSS shadow filtering
  • Atmospheric scattering supporting different scattering models
    • Eric Bruneton
    • Hosek & Wilkie
  • Screen space ambient occlusion:
    • SSAO
    • SSVO
    • HBAO
    • AlchemyAO
    • UE4AO (Modified AlchemyAO as proposed in UE)
  • Bloom
  • Color correction:
    • Tonemapping with many operators:
      • Reinhard (Luminance and Color based)
      • Uncharted 2
      • Exponential
    • Dynamic Exposure
    • Film grain
    • Vignetting
    • Chromatic Aberration
    • Color LUT
  • SMAA
  • Subsurface shading
    • Backface translucency
  • SSLR
    • Screen space local reflections (bit buggy right now)

To be implemented

This are the features I really want to get into the Pipeline at some point, ordered by their importance:

  • Voxel Cone Tracing (for GI + specular reflections)
  • Forward shaded objects
    • Particles
    • Transparent objects
  • Motion Blur
  • Eventually DoF (I do not like this effect, so its on the end of my todo list, but I will implement it for completeness)

TODO List

This is my personal todo-list off stuff that I want to get done (not ordered):

  • Support for lights attached to node paths
  • Improve SSLR (Maybe not required with VCT)
  • Interleaved sampling for AO (Partially working, not fully tested)
  • Only update shadow sources in frustum
  • Reduce bloom at screen corners (Looks worse than if not)
  • Improve clouds
    • Examine better rendering technology than voxels
  • VSM for terrain shadows
  • Examine if SMAA really needs 16 bit textures (It doesn't)
  • Improve PCSS (make it more smooth)
  • Support for old-style .egg files
  • Only update scattering cubemap if the time of day changed
  • Make the image class behave like Texture