Inheritance: EventDispatcher → Node → TempNode →
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 renderPipeline = new THREE.RenderPipeline( 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 );
renderPipeline.outputNode = scenePassColor.add( bloomPass );
const renderPipeline = new THREE.RenderPipeline( renderer );
const scenePass = pass( scene, camera );
const scenePassColor = scenePass.getTextureNode( 'output' );
const bloomPass = bloom( scenePassColor );
renderPipeline.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. Must be in the range [0,1].
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