OptionalbiasDepth offset in world units that stops a surface occluding itself
Raise it if flat surfaces show speckled shading; lower it if contact shadows vanish.
OptionalblurSpacing between blur taps, in texels of the occlusion buffer
OptionalenabledWhether the pass starts enabled; see Pass3D#enabled
OptionalfadeDepths in front of the camera, [start, end] in world units, across which the occlusion fades out
Past end the effect skips its samples, which saves their cost and removes the speckle and
dark bands it gives distant surfaces. null keeps occlusion at every depth.
OptionalintensityStrength of the darkening
OptionalmaxDepth gap in world units at which an occluder stops counting
An occluder counts less the further it is in depth from the shaded point, which keeps a near object from casting a dark halo on what's far behind it. Lower it if halos show.
OptionalpowerExponent on the occlusion term; higher values darken the occluded areas further
OptionalradiusHow far around each point the effect looks for occluders, in world units
OptionalresolutionTexels per logical pixel for the occlusion, like a pixi filter's resolution
'inherit' matches the scene, at View3D#resolution. On a high-DPI screen 1 is the
usual choice: a quarter of the work at a device pixel ratio of 2. Fixed at construction.
OptionalsamplesSamples per pixel; the cost of the occlusion pass grows with it
OptionalsceneWhether the effect makes the view write normalOutput, so it reads each surface's own normal instead of rebuilding a flat one from depth
The scene's normal is smooth across curves and carries normal-map detail, but it costs every opaque and glass pixel one more 4-byte write, which on a phone can cost more than it saves, and on WebGL it turns the view's MSAA off; see normalOutput. When another pass already makes the view write the normals, the effect reads them whatever this says. Fixed at construction.
OptionalstageWhether the effect reads the scene as light, before the tone curve, or the picture as it will show, after it
Each effect class picks the right one by default, so set it only to move one instance, such as a tint meant for the light rather than the picture. See PostEffect#stage.
Constructor options for SsaoEffect
Example