Skip to content

Improve render-pass based SSAO #6658

@mvaligursky

Description

@mvaligursky

initial implementation: #6657

possible improvements:

  • currently the SSAO depends on the depth-prepass. This could be optional and depth-drab pass can be used instead to obtain the depth.
  • when the SSAO uses the depth-pass, it runs before the main forward passes of the scene. This allows us to implement Screen space ambient occlusion should only affect indirect light #4844 properly.
  • when SSAO is used together with TAA, randomize sampling using TAA's random values, to allow smaller number of SSAO samples to be used, and depending on TAA instaed of resolve them over few frames Per frame randomized SSAO sampling & debug mode in composite pass #7139
  • improve the shaders to use half precision to gain some performance.
  • consider downscaling the depth buffer before the SSAO runs, or at least generate mipmaps from it. The SSAO shader we use allows sampling using mipmaps, to allow better quality larger size filter.
  • if the center sample of ssao is on the far plane (or past some user configured distance), skipped the whole ray-marching part, assuming the skydome does not need AO.
  • generate linear depth buffer before SSAO / depth-blur to improve performance. Depth prepass generates linear depth #7119

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions