This is my deferred render pipeline, implemented in Panda3D. This pipeline aims to handle the complete graphics pipeline, giving the user the ability to focus on making the game, and not the graphics.
Screenshot Thread: http://www.panda3d.org/forums/viewtopic.php?f=6&t=17050
You can find more here:
This pipeline is still in developement, feel free to join :) For questions & suggestions you can find me at #panda3d on freenode.
Thanks especially to rdb and all the others for support & help!
You can find the wiki & instructions how to setup the pipeline at https://github.com/tobspr/RenderPipeline/wiki
- Separate transparency and forward pass, too
- SSDO, SAO and HBAO for high frequency AO
- Also voxel traced AO and GI for medium/low frequency AO
- Cone traced Global Illumination
- Also cone traced Specular Reflections
- Better results than screen space reflections
- Blurred reflections are cheap
- Used for multiple effects like GI, or specular reflections
- Allows correct specular refletions, even if ray is outside of view
- For directional lights, logarithmic splitting
- Might support depth dependent splitting at some time
- With variance shadow maps (VSM)
- Screen space subsurface scattering
- Based on pregenerated light transport map
- Based on the work of Eric Bruneton, but improved and adapted for non-spheres
- Shadow updates delayed over multiple frames
- Shadow atlas, also dynamic resolution adaption
- Point Lights
- Shadows via cubemap
- Directional Lights
- PSSM Shadows, see above
- Ambient Lights
- Darken or Bright
- Artist controlled Global Illumination
- Darken or Bright
- Projector Lights
- Like a perspective lens
- Projection texture
- Can be used for flashlights for example
- Area Lights
- Caster is a rectangle
- Also supports projection texture
- Shadows are computed by cone tracing (see GI)
- Also artist controlled color correction
- Focal Blur
- Movement Blur (edges)
- Mipmap based + in place 4x4 kernel
- Varying radius (DOF)
- Maybe Bokeh