• Public
  • Public/Protected
  • All

Class PrePassRenderer

Renders a pre pass of the scene This means every mesh in the scene will be rendered to a render target texture And then this texture will be composited to the rendering canvas with post processes It is necessary for effects like subsurface scattering or deferred shading


  • PrePassRenderer




  • Instanciates a prepass renderer


    Returns PrePassRenderer


defaultRTSearch playground for defaultRT

defaultRT: PrePassRenderTarget

The render target where the scene is directly rendered

disableGammaTransformSearch playground for disableGammaTransform

disableGammaTransform: boolean

Set to true to disable gamma transform in PrePass. Can be useful in case you already proceed to gamma transform on a material level and your post processes don't need to be in linear color space.

doNotUseGeometryRendererFallbackSearch playground for doNotUseGeometryRendererFallback

doNotUseGeometryRendererFallback: boolean

Prevents the PrePassRenderer from using the GeometryBufferRenderer as a fallback

excludedMaterialsSearch playground for excludedMaterials

excludedMaterials: Material[]

Force material to be excluded from the prepass Can be useful when useGeometryBufferFallback is set to true and you don't want a material to show in the effect.

excludedSkinnedMeshSearch playground for excludedSkinnedMesh

excludedSkinnedMesh: AbstractMesh[]

To save performance, we can excluded skinned meshes from the prepass

mrtCountSearch playground for mrtCount

mrtCount: number

Number of textures in the multi render target texture where the scene is directly rendered

renderTargetsSearch playground for renderTargets

renderTargets: PrePassRenderTarget[]

All the render targets generated by prepass



  • get currentRTisSceneRT(): boolean
  • Returns true if the currently rendered prePassRenderTarget is the one associated with the scene.

    Returns boolean


  • get enabled(): boolean
  • Indicates if the prepass is enabled

    Returns boolean


  • get isSupported(): boolean
  • Indicates if rendering a prepass is supported

    Returns boolean


  • get samples(): number
  • set samples(n: number): any
  • How many samples are used for MSAA of the scene render target

    Returns number

  • How many samples are used for MSAA of the scene render target


    • n: number

    Returns any


addEffectConfigurationSearch playground for addEffectConfiguration

  • Adds an effect configuration to the prepass render target. If an effect has already been added, it won't add it twice and will return the configuration already present.


    Returns PrePassEffectConfiguration

    the effect configuration now used by the prepass

bindAttachmentsForEffectSearch playground for bindAttachmentsForEffect

  • bindAttachmentsForEffect(effect: Effect, subMesh: SubMesh): void
  • Sets the proper output textures to draw in the engine.


    • effect: Effect

      The effect that is drawn. It can be or not be compatible with drawing to several output textures.

    • subMesh: SubMesh

      Submesh on which the effect is applied

    Returns void

disposeSearch playground for dispose

  • dispose(): void
  • Disposes the prepass renderer.

    Returns void

getIndexSearch playground for getIndex

  • getIndex(type: number): number
  • Returns the index of a texture in the multi render target texture array.


    • type: number

      Texture type

    Returns number

    The index

getRenderTargetSearch playground for getRenderTarget

  • getRenderTarget(): PrePassRenderTarget
  • Returns PrePassRenderTarget

    the prepass render target for the rendering pass. If we are currently rendering a render target, it returns the PrePassRenderTarget associated with that render target. Otherwise, it returns the scene default PrePassRenderTarget

markAsDirtySearch playground for markAsDirty

  • markAsDirty(): void
  • Marks the prepass renderer as dirty, triggering a check if the prepass is necessary for the next rendering.

    Returns void

restoreAttachmentsSearch playground for restoreAttachments

  • restoreAttachments(): void
  • Restores attachments for single texture draw.

    Returns void


  • Constructor
  • Property
  • Method
  • Accessor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Static property
  • Static method