Skip to content

Documentation / scene / AbstractPostEffect

Class: AbstractPostEffect

Defined in: libs/scene/src/posteffect/posteffect.ts:115

Base class for any type of post effect

Extends

  • Disposable

Extended by

Constructors

Constructor

new AbstractPostEffect(): AbstractPostEffect

Defined in: libs/scene/src/posteffect/posteffect.ts:123

Creates an instance of a post effect

Returns

AbstractPostEffect

Overrides

Disposable.constructor

Properties

_enabled

protected _enabled: boolean

Defined in: libs/scene/src/posteffect/posteffect.ts:117


_layer

protected _layer: PostEffectLayer

Defined in: libs/scene/src/posteffect/posteffect.ts:118

Accessors

disposed

Get Signature

get disposed(): boolean

Defined in: libs/base/dist/index.d.ts:6065

Returns

boolean

Inherited from

Disposable.disposed


enabled

Get Signature

get enabled(): boolean

Defined in: libs/scene/src/posteffect/posteffect.ts:129

Whether this post effect is enabled

Returns

boolean

Set Signature

set enabled(val): void

Defined in: libs/scene/src/posteffect/posteffect.ts:132

Parameters
val

boolean

Returns

void


layer

Get Signature

get layer(): PostEffectLayer

Defined in: libs/scene/src/posteffect/posteffect.ts:136

Whether this post effect will be rendered at opaque phase

Returns

PostEffectLayer

Methods

on()

on<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:594

IEventTarget.on

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener

EventListener<{ dispose: []; }, K>

context?

unknown

Returns

void

Inherited from

Disposable.on


once()

once<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:598

IEventTarget.once

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener

EventListener<{ dispose: []; }, K>

context?

unknown

Returns

void

Inherited from

Disposable.once


off()

off<K>(type, listener?, context?): void

Defined in: libs/base/dist/index.d.ts:602

IEventTarget.off

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener?

EventListener<{ dispose: []; }>

context?

unknown

Returns

void

Inherited from

Disposable.off


dispatchEvent()

dispatchEvent<K>(type, ...args): void

Defined in: libs/base/dist/index.d.ts:606

IEventTarget.dispatchEvent

Type Parameters

K

K extends "dispose"

Parameters

type

K

args

...object[K]

Returns

void

Inherited from

Disposable.dispatchEvent


dispose()

dispose(): void

Defined in: libs/base/dist/index.d.ts:6066

Returns

void

Inherited from

Disposable.dispose


needFlip()

needFlip(device): boolean

Defined in: libs/scene/src/posteffect/posteffect.ts:144

Check if the post effect should be rendered upside down.

Parameters

device

AbstractDevice

The device object

Returns

boolean

true if the post effect should be rendered upside down


requireLinearDepthTexture()

requireLinearDepthTexture(_ctx): boolean

Defined in: libs/scene/src/posteffect/posteffect.ts:151

Checks whether this post effect requires the linear depth texture

Parameters

_ctx

DrawContext

Returns

boolean

true if the linear depth texture is required.


requireDepthAttachment()

requireDepthAttachment(_ctx): boolean

Defined in: libs/scene/src/posteffect/posteffect.ts:158

Checks whether this post effect requires the scene depth buffer

Parameters

_ctx

DrawContext

Returns

boolean

true if the scene depth buffer is required.


requireMotionVectorTexture()

requireMotionVectorTexture(_ctx): boolean

Defined in: libs/scene/src/posteffect/posteffect.ts:165

Checks whether this post effect requires the motion vector texture

Parameters

_ctx

DrawContext

Returns

boolean

true if the motion vector texture is required.


apply()

apply(ctx, inputColorTexture, sceneDepthTexture, srgbOutput): void

Defined in: libs/scene/src/posteffect/posteffect.ts:178

Apply the post effect

Parameters

ctx

DrawContext

inputColorTexture

Texture2D

The previous scene color texture

sceneDepthTexture

Texture2D

The linear scene depth texture

srgbOutput

boolean

Whether the result should be gamma corrected

Returns

void

Remarks

The frame buffer of the post effect is already set when apply() is called.


setup()

setup(s): RGHandle

Defined in: libs/scene/src/posteffect/posteffect.ts:193

Declare this effect's passes on the render graph.

The default implementation wraps AbstractPostEffect.apply into a single graph pass, so effects only overriding apply() work unchanged. Multi-pass effects override this method to declare each internal step as its own pass, calling PostEffectSetupContext.createOutput inside the final pass.

Parameters

s

PostEffectSetupContext

Build-time setup context.

Returns

RGHandle

The effect's output color handle.


passThrough()

protected passThrough(ctx, inputColorTexture, srgbOutput, renderStates?): void

Defined in: libs/scene/src/posteffect/posteffect.ts:269

Parameters

ctx

DrawContext

Draw context

inputColorTexture

Texture2D

Input color texture

srgbOutput

boolean

Whether the result should be gamma corrected

renderStates?

RenderStateSet

Returns

void


drawFullscreenQuad()

protected drawFullscreenQuad(renderStateSet?): void

Defined in: libs/scene/src/posteffect/posteffect.ts:288

Draws a fullscreen quad

Parameters

renderStateSet?

RenderStateSet

Render states that will be used when drawing the fullscreen quad.

Returns

void


onDispose()

protected onDispose(): void

Defined in: libs/scene/src/posteffect/posteffect.ts:301

Returns

void

Overrides

Disposable.onDispose

Released under the MIT License.