跳转到内容

BaseFilter

Extended by

Type Parameters

• Name extends string

• OwnProps extends Record<string, any> = object

Constructors

new BaseFilter()

new BaseFilter<Name, OwnProps>(options?): BaseFilter<Name, OwnProps>

Constructor

Parameters

• options?: object & Partial<OwnProps> & Record<string, any> = {}

Options object

Returns

BaseFilter<Name, OwnProps>

Defined in

src/filters/BaseFilter.ts:56

Properties

defaults

static defaults: Record<string, unknown>

Defined in

src/filters/BaseFilter.ts:50


type

static type: string = 'BaseFilter'

The class type. Used to identify which class this is. This is used for serialization purposes and internally it can be used to identify classes. As a developer you could use instance of Class but to avoid importing all the code and blocking tree shaking we try to avoid doing that.

Defined in

src/filters/BaseFilter.ts:41


uniformLocations

static uniformLocations: string[] = []

Contains the uniform locations for the fragment shader. uStepW and uStepH are handled by the BaseFilter, each filter class needs to specify all the one that are needed

Defined in

src/filters/BaseFilter.ts:48

Accessors

type

get type(): Name

Filter type

Default

Returns

Name

Defined in

src/filters/BaseFilter.ts:30

Methods

_setupFrameBuffer()

_setupFrameBuffer(options): void

Parameters

• options: TWebGLPipelineState

Returns

void

Defined in

src/filters/BaseFilter.ts:204


_swapTextures()

_swapTextures(options): void

Parameters

• options: TWebGLPipelineState

Returns

void

Defined in

src/filters/BaseFilter.ts:231


applyTo()

applyTo(options): void

Apply this filter to the input image data provided.

Determines whether to use WebGL or Canvas2D based on the options.webgl flag.

Parameters

• options: TWebGLPipelineState | T2DPipelineState

Returns

void

Defined in

src/filters/BaseFilter.ts:264


applyTo2d()

applyTo2d(_options): void

Parameters

• _options: T2DPipelineState

Returns

void

Defined in

src/filters/BaseFilter.ts:274


applyToWebGL()

applyToWebGL(options): void

Apply this filter using webgl.

Parameters

• options: TWebGLPipelineState

Returns

void

Defined in

src/filters/BaseFilter.ts:314


bindAdditionalTexture()

bindAdditionalTexture(gl, texture, textureUnit): void

Parameters

• gl: WebGLRenderingContext

• texture: WebGLTexture

• textureUnit: number

Returns

void

Defined in

src/filters/BaseFilter.ts:333


createHelpLayer()

createHelpLayer(options): void

If needed by a 2d filter, this functions can create an helper canvas to be used remember that options.targetCanvas is available for use till end of chain.

Parameters

• options: T2DPipelineState

Returns

void

Defined in

src/filters/BaseFilter.ts:369


createProgram()

createProgram(gl, fragmentSource, vertexSource): object

Compile this filter’s shader program.

Parameters

• gl: WebGLRenderingContext

The GL canvas context to use for shader compilation.

• fragmentSource: string = ...

fragmentShader source for compilation

• vertexSource: string = ...

vertexShader source for compilation

Returns

object

attributeLocations

attributeLocations: TWebGLAttributeLocationMap

program

program: WebGLProgram

uniformLocations

uniformLocations: TWebGLUniformLocationMap

Defined in

src/filters/BaseFilter.ts:82


getAttributeLocations()

getAttributeLocations(gl, program): TWebGLAttributeLocationMap

Return a map of attribute names to WebGLAttributeLocation objects.

Parameters

• gl: WebGLRenderingContext

The canvas context used to compile the shader program.

• program: WebGLProgram

The shader program from which to take attribute locations.

Returns

TWebGLAttributeLocationMap

A map of attribute names to attribute locations.

Defined in

src/filters/BaseFilter.ts:152


getCacheKey()

getCacheKey(): string

Returns a string that represent the current selected shader code for the filter. Used to force recompilation when parameters change or to retrieve the shader from cache

Returns

string

Defined in

src/filters/BaseFilter.ts:283


getUniformLocations()

getUniformLocations(gl, program): TWebGLUniformLocationMap

Return a map of uniform names to WebGLUniformLocation objects.

Parameters

• gl: WebGLRenderingContext

The canvas context used to compile the shader program.

• program: WebGLProgram

The shader program from which to take uniform locations.

Returns

TWebGLUniformLocationMap

A map of uniform names to uniform locations.

Defined in

src/filters/BaseFilter.ts:168


getVertexSource()

getVertexSource(): string

Returns

string

Defined in

src/filters/BaseFilter.ts:71


isNeutralState()

isNeutralState(options?): boolean

Generic isNeutral implementation for one parameter based filters. Used only in image applyFilters to discard filters that will not have an effect on the image Other filters may need their own version ( ColorMatrix, HueRotation, gamma, ComposedFilter )

Parameters

• options?: any

Returns

boolean

Defined in

src/filters/BaseFilter.ts:247


retrieveShader()

retrieveShader(options): TWebGLProgramCacheItem

Retrieves the cached shader.

Parameters

• options: TWebGLPipelineState

Returns

TWebGLProgramCacheItem

the compiled program shader

Defined in

src/filters/BaseFilter.ts:294


sendAttributeData()

sendAttributeData(gl, attributeLocations, aPositionData): void

Send attribute data from this filter to its shader program on the GPU.

Parameters

• gl: WebGLRenderingContext

The canvas context used to compile the shader program.

• attributeLocations: Record<string, number>

A map of shader attribute names to their locations.

• aPositionData: Float32Array

Returns

void

Defined in

src/filters/BaseFilter.ts:191


sendUniformData()

sendUniformData(_gl, _uniformLocations): void

Send uniform data from this filter to its shader program on the GPU.

Intended to be overridden by subclasses.

Parameters

• _gl: WebGLRenderingContext

The canvas context used to compile the shader program.

• _uniformLocations: TWebGLUniformLocationMap

A map of shader uniform names to their locations.

Returns

void

Defined in

src/filters/BaseFilter.ts:358


toJSON()

toJSON(): object & OwnProps

Returns a JSON representation of an instance

Returns

object & OwnProps

JSON

Defined in

src/filters/BaseFilter.ts:406


toObject()

toObject(): object & OwnProps

Returns object representation of an instance It will automatically export the default values of a filter, stored in the static defaults property.

Returns

object & OwnProps

Object representation of an instance

Defined in

src/filters/BaseFilter.ts:386


unbindAdditionalTexture()

unbindAdditionalTexture(gl, textureUnit): void

Parameters

• gl: WebGLRenderingContext

• textureUnit: number

Returns

void

Defined in

src/filters/BaseFilter.ts:344


fromObject()

static fromObject(__namedParameters, _options): Promise<BaseFilter<string, object>>

Parameters

• __namedParameters: Record<string, any>

• _options: Abortable

Returns

Promise<BaseFilter<string, object>>

Defined in

src/filters/BaseFilter.ts:411