Skip to content

Defined in: packages/three-flatland/src/pipeline/PassEffect.ts:105

Base class for post-processing pass effects.

Mirrors the MaterialEffect pattern: class-based, schema-driven, with property accessors. Uses TSL uniform() nodes for zero-cost runtime parameter updates — changing a parameter updates the uniform value directly without rebuilding the node graph.

class CRTEffect extends PassEffect {
static readonly passName = 'crt'
static readonly passSchema = { curvature: 0.1, scanlineIntensity: 0.2 } as const
declare curvature: number
declare scanlineIntensity: number
static buildPass({ uniforms }: PassEffectContext): PassEffectFn {
return (input, uv) => crtComplete(input, uv, {
curvature: uniforms.curvature,
scanlineIntensity: uniforms.scanlineIntensity,
})
}
}
const VignetteEffect = createPassEffect({
name: 'vignette',
schema: { intensity: 0.5 },
pass: ({ uniforms }) => (input, uv) => vignette(input, uv, uniforms.intensity),
})

new PassEffect(): PassEffect

Defined in: packages/three-flatland/src/pipeline/PassEffect.ts:232

PassEffect

readonly name: string

Defined in: packages/three-flatland/src/pipeline/PassEffect.ts:203

Pass name (from static).


readonly static passName: string

Defined in: packages/three-flatland/src/pipeline/PassEffect.ts:111

Unique pass name. Must be overridden by subclass.


readonly static passSchema: EffectSchema

Defined in: packages/three-flatland/src/pipeline/PassEffect.ts:113

Per-pass data schema with default values. Must be overridden by subclass.

get enabled(): boolean

Defined in: packages/three-flatland/src/pipeline/PassEffect.ts:294

Whether this pass is enabled in the chain.

boolean

set enabled(value): void

Defined in: packages/three-flatland/src/pipeline/PassEffect.ts:299

Toggle enabled state. This is a structural change — rebuilds the chain.

boolean

void

static buildPass(_context): PassEffectFn

Defined in: packages/three-flatland/src/pipeline/PassEffect.ts:131

Build the pass function. Must be overridden by subclass (class-based path). Called once when the pass is added to Flatland. The returned function closes over uniform nodes for zero-cost parameter updates.

PassEffectContext

PassEffectFn