EffectComposer

The EffectComposer must wrap all your effects. It will manage them for you.

<EffectComposer
  enabled?: boolean
  depthBuffer?: boolean
  enableNormalPass?: boolean
  stencilBuffer?: boolean
  autoClear?: boolean
  /** Whether the last pass automatically renders to the screen. Set to `false` when rendering to a target of your own (e.g. via a trailing CopyPass) instead. */
  autoRenderToScreen?: boolean
  multisampling?: number
  frameBufferType?: TextureDataType
  /** For effects that support DepthDownsamplingPass */
  resolutionScale?: number
  renderPriority?: number
  camera?: THREE.Camera
  scene?: THREE.Scene
  /** Constructs the initial pass that renders the scene - override to substitute your own RenderPass-like implementation. Defaults to `(scene, camera) => new RenderPass(scene, camera)`. */
  renderPass?: (scene: THREE.Scene, camera: THREE.Camera) => Pass
  /** Controls how effects are merged into EffectPass instances. `'auto'` (default) merges consecutive effects into one pass, keeping at most one convolution effect (e.g. DepthOfField) per pass - matching what postprocessing actually supports. `'all'` merges without that limit - only enable it if you've verified your specific combination works, since multiple convolution effects sharing a pass throws at render time. `'none'` disables merging entirely, giving every effect its own pass. */
  mergeMode?: 'auto' | 'all' | 'none'
>
{/* your effects go here */}
</EffectComposer>