Base class for all post effects. Post effects take a a render target as input apply effects to it and then render the result to an output render target or the screen if no output is specified.



The graphics device of the application.

needsDepthBuffer: boolean

The property that should to be set to true (by the custom post effect) if a depth map is necessary (default is false).

quadVertexShader: string = ...

A simple vertex shader used to render a quad, which requires 'vec2 aPosition' in the vertex buffer, and generates uv coordinates vUv0 for use in the fragment shader.


  • Draw a screen-space rectangle in a render target, using a specified shader.


    • target: RenderTarget

      The output render target.

    • shader: Shader

      The shader to be used for drawing the rectangle.

    • Optional rect: Vec4

      The normalized screen-space position (rect.x, rect.y) and size (rect.z, rect.w) of the rectangle. Default is [0, 0, 1, 1].

    Returns void

  • Render the post effect using the specified inputTarget to the specified outputTarget.


    • inputTarget: RenderTarget

      The input render target.

    • outputTarget: RenderTarget

      The output render target. If null then this will be the screen.

    • Optional rect: Vec4

      The rect of the current camera. If not specified, it will default to [0, 0, 1, 1].

    Returns void