postprocessing
postprocessing copied to clipboard
Implement SSAOEffect
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
ssaodemo. - [ ] Add unit test.
Implementation Details
- Find best SSAO technique before implementing (XeGTAO, SSRT3, GTVBAO, etc.).
- Should be done after
TAAEffectandDenoisePass(bilateral blur) have been implemented. - ~~Consider adding support for light bounce.~~ (should be handled by GI)
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
Thanks for the heads-up - I'll add it to the list of references.