📄 threejs/Addons/Postprocessing/SSAOPass

File: SSAOPass.md | Updated: 11/15/2025


title: SSAOPass category: Addons layout: docs

SSAOPass

A pass for a basic SSAO effect.

SAOPass and GTAPass produce a more advanced AO but are also more expensive.

Code Example

const ssaoPass = new SSAOPass( scene, camera, width, height );
composer.addPass( ssaoPass );

Import

SSAOPass is an addon, and must be imported explicitly, see Installation#Addons.

import { SSAOPass } from 'three/addons/postprocessing/SSAOPass.js';

Constructor

new SSAOPass( scene : Scene, camera : Camera, width : number, height : number, kernelSize : number )

Constructs a new SSAO pass.

scene | The scene to compute the AO for.
---|---
camera | The camera.
width | The width of the effect. Default is 512.
height | The height of the effect. Default is 512.
kernelSize | The kernel size. Default is 32.

Properties

.camera : Camera

The camera.

.clear : boolean

Overwritten to perform a clear operation by default.

Default is true.

Overrides: Pass#clear

.height : number

The height of the effect.

Default is 512.

.kernelRadius : number

The kernel radius controls how wide the AO spreads.

Default is 8.

.maxDistance : number

Defines the maximum distance that should be affected by the AO.

Default is 0.1.

.minDistance : number

Defines the minimum distance that should be affected by the AO.

Default is 0.005.

.needsSwap : boolean

Overwritten to disable the swap.

Default is false.

Overrides: Pass#needsSwap

.output : number

The output configuration.

Default is 0.

.scene : Scene

The scene to render the AO for.

.width : number

The width of the effect.

Default is 512.

Methods

.dispose()

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

.render( renderer : WebGLRenderer, writeBuffer : WebGLRenderTarget, readBuffer : WebGLRenderTarget, deltaTime : number, maskActive : boolean )

Performs the SSAO 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

.setSize( width : number, height : number )

Sets the size of the pass.

width | The width to set.
---|---
height | The height to set.

Overrides: Pass#setSize

Source

examples/jsm/postprocessing/SSAOPass.js