File: SAOPass.md | Updated: 11/15/2025
A SAO implementation inspired from @bhouston previous SAO work.
SAOPass provides better quality than SSAOPass but is also more expensive.
const saoPass = new SAOPass( scene, camera );
composer.addPass( saoPass );
SAOPass is an addon, and must be imported explicitly, see Installation#Addons.
import { SAOPass } from 'three/addons/postprocessing/SAOPass.js';
Constructs a new SAO pass.
scene | The scene to compute the AO for.
---|---
camera | The camera.
resolution | The effect's resolution.
The camera.
Overwritten to perform a clear operation by default.
Default is true.
Overrides: Pass#clear
Overwritten to disable the swap.
Default is false.
Overrides: Pass#needsSwap
The SAO parameter.
The effect's resolution.
Default is (256,256).
The scene to render the AO for.
Frees the GPU-related resources allocated by this instance. Call this method whenever the pass is no longer used in your app.
Overrides: Pass#dispose
Performs the SAO pass.
renderer | The renderer.
---|---
writeBuffer | The write buffer. This buffer is intended as the rendering destination for the pass.
readBuffer | The read buffer. The pass can access the result from the previous pass from this buffer.
deltaTime | The delta time in seconds.
maskActive | Whether masking is active or not.
Overrides: Pass#render
Sets the size of the pass.
width | The width to set.
---|---
height | The height to set.
Overrides: Pass#setSize