File: BloomNode.md | Updated: 11/15/2025
Post processing node for creating a bloom effect.
By default, the node affects the entire image. For a selective bloom, use the emissive material property to control which objects should contribute to bloom or not. This can be achieved via MRT.
const postProcessing = new THREE.PostProcessing( renderer );
const scenePass = pass( scene, camera );
scenePass.setMRT( mrt( {
output,
emissive
} ) );
const scenePassColor = scenePass.getTextureNode( 'output' );
const emissivePass = scenePass.getTextureNode( 'emissive' );
const bloomPass = bloom( emissivePass );
postProcessing.outputNode = scenePassColor.add( bloomPass );
const postProcessing = new THREE.PostProcessing( renderer );
const scenePass = pass( scene, camera );
const scenePassColor = scenePass.getTextureNode( 'output' );
const bloomPass = bloom( scenePassColor );
postProcessing.outputNode = scenePassColor.add( bloomPass );
BloomNode is an addon, and must be imported explicitly, see Installation#Addons.
import { bloom } from 'three/addons/tsl/display/BloomNode.js';
Constructs a new bloom node.
inputNode | The node that represents the input of the effect.
---|---
strength | The strength of the bloom. Default is 1.
radius | The radius of the bloom. Default is 0.
threshold | The luminance threshold limits which bright areas contribute to the bloom effect. Default is 0.
The node that represents the input of the effect.
The radius of the bloom.
Can be used to tweak the extracted luminance from the scene.
The strength of the bloom.
The luminance threshold limits which bright areas contribute to the bloom effect.
The updateBeforeType is set to NodeUpdateType.FRAME since the node renders its effect once per frame in updateBefore().
Default is 'frame'.
Overrides: TempNode#updateBeforeType
Frees internal resources. This method should be called when the effect is no longer required.
Overrides: TempNode#dispose
Returns the result of the effect as a texture node.
Returns: A texture node that represents the result of the effect.
Sets the size of the effect.
width | The width of the effect.
---|---
height | The height of the effect.
This method is used to setup the effect's TSL code.
builder | The current node builder.
---|---
Overrides: TempNode#setup
This method is used to render the effect once per frame.
frame | The current node frame.
---|---
Overrides: TempNode#updateBefore