Skip to content

textmode.js / filters / TextmodeFilterStrategy

Interface: TextmodeFilterStrategy<TParams>

Interface for implementing custom filter strategies.

Type Parameters

Type ParameterDefault type
TParamsunknown

Properties

PropertyModifierTypeDescription
idreadonlystringUnique identifier for this filter

Methods

createShader()

ts
createShader(context): TextmodeShader;

Create the shader program for this filter. Called once when the filter is first used (lazy initialization).

Parameters

ParameterTypeDescription
contextFilterContextThe filter context containing renderer and dimensions

Returns

TextmodeShader

The compiled shader program

Example

ts
createShader: () => shader

createUniforms()

ts
createUniforms(params, context): Record<string, unknown>;

Create uniform values for this filter based on user parameters. Called each time the filter is applied.

Parameters

ParameterTypeDescription
paramsTParamsThe parameters passed by the user (can be undefined)
contextFilterContextThe filter context containing dimensions

Returns

Record<string, unknown>

An object mapping uniform names to values

Example

ts
createUniforms: (params) => ({ u_amount: params?.amount ?? 1 })