Skip to content

Features

tobspr edited this page Feb 28, 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 / FXAA
  • Subsurface shading
    • Backface translucency
  • SSLR
    • Screen space local reflections (bit buggy right now)
  • Environment Probes
    • Up to 341 per scene
  • Volumetric Clouds
  • (experimental) Voxel cone tracing

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) (in progress)
  • 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)
  • Only update shadow sources in frustum
  • Improve clouds
    • Examine better rendering technology than voxels
  • VSM for terrain shadows
  • Only update scattering cubemap if the time of day changed
  • Reimplement settings loader
  • De-flatten plugin configuration (i.e. use nested dictionaries)
  • Move plugins out of rpcore to rpplugins/ (or similar name)
  • Culling for Env Probes (Python - Against view frustum, GLSL - Against tile bounds)
  • Better workflow for exporting lights and environment-probes
  • Rename rp_object to rpobject
  • Support for sky occlusion to properly lit closed rooms (and SkyAO)
  • Use low-precision depth (16bit) for everything