postprocessing icon indicating copy to clipboard operation
postprocessing copied to clipboard

Implement SSAOEffect

Open vanruesc opened this issue 1 year ago • 2 comments

Description

Implement an SSAOEffect.

Related: #214, #245, #579

References:

  • https://github.com/mrdoob/three.js/issues/29668
  • https://github.com/GameTechDev/XeGTAO
  • https://github.com/N8python/n8ao
  • https://github.com/gkjohnson/threejs-sandbox/tree/master/gtaoPass
  • https://github.com/pmndrs/postprocessing/issues/192#issuecomment-636593555
  • https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/gamedev%2Ffiles%2Fgdc12%2FGDC12_Bavoil_Stable_SSAO_In_BF3_With_STF.pdf
  • https://github.com/asylum2010/Asylum_Tutorials/blob/master/Media/ShadersGL/gtaotemporaldenoiser.frag
  • https://github.com/mrdoob/three.js/issues/29668

Tasks

  • [ ] Create SSAOEffect.
  • [ ] Create ssao demo.
  • [ ] Add unit test.

Implementation Details

  • Find best SSAO technique before implementing (XeGTAO, SSRT3, GTVBAO, etc.).
  • Should be done after TAAEffect and DenoisePass (bilateral blur) have been implemented.
  • ~~Consider adding support for light bounce.~~ (should be handled by GI)

vanruesc avatar Feb 13 '24 00:02 vanruesc

In case it's useful, threejs introduced TSL SSILVB GI and AO to the WebGPURenderer: https://github.com/mrdoob/three.js/issues/29668#event-19557952771 and demo

jo-chemla avatar Sep 19 '25 18:09 jo-chemla

Thanks for the heads-up - I'll add it to the list of references.

vanruesc avatar Sep 20 '25 13:09 vanruesc