BaseFilter
Defined in: src/filters/BaseFilter.ts:21
Extended by
BlendColor
BlendImage
Blur
Brightness
ColorMatrix
Composed
Contrast
Convolute
Gamma
Grayscale
Invert
Noise
Pixelate
RemoveColor
Resize
Saturation
Vibrance
Type Parameters
• Name extends string
• OwnProps extends Record
<string
, any
> = object
• SerializedProps extends Record
<string
, any
> = OwnProps
Constructors
new BaseFilter()
new BaseFilter<
Name
,OwnProps
,SerializedProps
>(options
?):BaseFilter
<Name
,SerializedProps
>
Defined in: src/filters/BaseFilter.ts:57
Constructor
Parameters
options?
object
& Partial
<OwnProps
> & Record
<string
, any
> = {}
Options object
Returns
BaseFilter
<Name
, SerializedProps
>
Properties
defaults
static
defaults:Record
<string
,unknown
>
Defined in: src/filters/BaseFilter.ts:51
type
static
type:string
='BaseFilter'
Defined in: src/filters/BaseFilter.ts:42
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.
uniformLocations
static
uniformLocations:string
[] =[]
Defined in: src/filters/BaseFilter.ts:49
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
Accessors
type
Get Signature
get type():
Name
Defined in: src/filters/BaseFilter.ts:31
Filter type
Default
Returns
Name
Methods
_setupFrameBuffer()
_setupFrameBuffer(
options
):void
Defined in: src/filters/BaseFilter.ts:205
Parameters
options
Returns
void
_swapTextures()
_swapTextures(
options
):void
Defined in: src/filters/BaseFilter.ts:232
Parameters
options
Returns
void
applyTo()
applyTo(
options
):void
Defined in: src/filters/BaseFilter.ts:265
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
applyTo2d()
applyTo2d(
_options
):void
Defined in: src/filters/BaseFilter.ts:275
Parameters
_options
Returns
void
applyToWebGL()
applyToWebGL(
options
):void
Defined in: src/filters/BaseFilter.ts:315
Apply this filter using webgl.
Parameters
options
Returns
void
bindAdditionalTexture()
bindAdditionalTexture(
gl
,texture
,textureUnit
):void
Defined in: src/filters/BaseFilter.ts:334
Parameters
gl
WebGLRenderingContext
texture
WebGLTexture
textureUnit
number
Returns
void
createHelpLayer()
createHelpLayer(
options
):void
Defined in: src/filters/BaseFilter.ts:370
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
Returns
void
createProgram()
createProgram(
gl
,fragmentSource
,vertexSource
):object
Defined in: src/filters/BaseFilter.ts:83
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
getAttributeLocations()
getAttributeLocations(
gl
,program
):TWebGLAttributeLocationMap
Defined in: src/filters/BaseFilter.ts:153
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
A map of attribute names to attribute locations.
getCacheKey()
getCacheKey():
string
Defined in: src/filters/BaseFilter.ts:284
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
getUniformLocations()
getUniformLocations(
gl
,program
):TWebGLUniformLocationMap
Defined in: src/filters/BaseFilter.ts:169
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
A map of uniform names to uniform locations.
getVertexSource()
getVertexSource():
string
Defined in: src/filters/BaseFilter.ts:72
Returns
string
isNeutralState()
isNeutralState(
options
?):boolean
Defined in: src/filters/BaseFilter.ts:248
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
retrieveShader()
retrieveShader(
options
):TWebGLProgramCacheItem
Defined in: src/filters/BaseFilter.ts:295
Retrieves the cached shader.
Parameters
options
Returns
the compiled program shader
sendAttributeData()
sendAttributeData(
gl
,attributeLocations
,aPositionData
):void
Defined in: src/filters/BaseFilter.ts:192
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
sendUniformData()
sendUniformData(
_gl
,_uniformLocations
):void
Defined in: src/filters/BaseFilter.ts:359
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
A map of shader uniform names to their locations.
Returns
void
toJSON()
toJSON():
object
&SerializedProps
Defined in: src/filters/BaseFilter.ts:407
Returns a JSON representation of an instance
Returns
object
& SerializedProps
JSON
toObject()
toObject():
object
&SerializedProps
Defined in: src/filters/BaseFilter.ts:387
Returns object representation of an instance It will automatically export the default values of a filter, stored in the static defaults property.
Returns
object
& SerializedProps
Object representation of an instance
unbindAdditionalTexture()
unbindAdditionalTexture(
gl
,textureUnit
):void
Defined in: src/filters/BaseFilter.ts:345
Parameters
gl
WebGLRenderingContext
textureUnit
number
Returns
void
fromObject()
static
fromObject(__namedParameters
,_options
):Promise
<BaseFilter
<string
>>
Defined in: src/filters/BaseFilter.ts:412
Parameters
__namedParameters
Record
<string
, any
>
_options
Returns
Promise
<BaseFilter
<string
>>