Class: CanvasRenderer<ResultT>
@geenee/armature.CanvasRenderer
Generic renderer using ResponsiveCanvas
Generic Renderer utilizing ResponsiveCanvas. Refer to their documentation for more details. CanvasRenderer can have several layers and there're two basic usage patterns. Use separate layers for video and scene and effectively render scene on top of the video stream. Advantage of this approach is that image and scene can be processed independently and one can apply different effects or postprocessing. This pattern is also easier to implement. Or one can use only one canvas layer and embed video stream into the scene as object via a texture or background component. This approach will have more complex implementation dependent on particular renderer. On the other hand, rendering effects affecting the whole scene will also apply to the video stream. This can improve performance and allows advanced rendering/postprocessing techniques to be used
Type parameters
Name | Type | Description |
---|---|---|
ResultT | extends Object = {} | Type of processing results |
Hierarchy
Renderer
<ResultT
>↳
CanvasRenderer
Constructors
constructor
• new CanvasRenderer<ResultT
>(params
)
Constructor
Type parameters
Name | Type |
---|---|
ResultT | extends Object = {} |
Parameters
Name | Type | Description |
---|---|---|
params | CanvasParams | Parameters of responsive canvas |
Overrides
Properties
cameraAngle
• Protected
cameraAngle: number
Camera vertical angle in radians
Inherited from
cameraRatio
• Protected
cameraRatio: number
Camera aspect ratio
Inherited from
canvas
• canvas: ResponsiveCanvas
Responsive canvas
loaded
• Protected
loaded: boolean
= false
Loaded state
Inherited from
videoRatio
• Protected
videoRatio: number
Aspect ratio of input video
Inherited from
videoSize
• Protected
videoSize: Size
Resolution of input video
Inherited from
Methods
addListener
▸ addListener<E
>(event
, listener
): CanvasRenderer
<ResultT
>
Adds the listener function to the end of the listeners array
Type parameters
Name | Type |
---|---|
E | extends keyof RendererEvents |
Parameters
Name | Type | Description |
---|---|---|
event | E | The name of the event |
listener | RendererEvents [E ] | The callback function |
Returns
CanvasRenderer
<ResultT
>
This EventEmitter
Inherited from
dispose
▸ dispose(): void
Dispose renderer object
Returns
void
Inherited from
emit
▸ emit<E
>(event
, ...args
): boolean
Synchronously calls each of the listeners registered for the event
Type parameters
Name | Type |
---|---|
E | extends keyof RendererEvents |
Parameters
Name | Type | Description |
---|---|---|
event | E | The name of the event |
...args | Args <RendererEvents [E ]> | Arguments passed to the listeners |
Returns
boolean
True if the event had listeners, False otherwise
Inherited from
eventNames
▸ eventNames(): (string
| symbol
)[]
List of emitter's events
Returns
(string
| symbol
)[]
List of emitter's events
Inherited from
getMaxListeners
▸ getMaxListeners(): number
Maximum number of listeners per event
Returns
number
Maximum number of listeners per event
Inherited from
listenerCount
▸ listenerCount<E
>(event
): number
The number of listeners listening to the event
Type parameters
Name | Type |
---|---|
E | extends keyof RendererEvents |
Parameters
Name | Type | Description |
---|---|---|
event | E | The name of the event |
Returns
number
Number of listeners
Inherited from
listeners
▸ listeners<E
>(event
): Function
[]
Copy of the array of listeners for the event
Type parameters
Name | Type |
---|---|
E | extends keyof RendererEvents |
Parameters
Name | Type | Description |
---|---|---|
event | E | The name of the event |
Returns
Function
[]
Copy of the listeners array
Inherited from
load
▸ load(): Promise
<void
>
Initialize renderer
Initializes renderer, all required assets, and the scene. Overridden by derived classes for particular application.
Returns
Promise
<void
>
Promise resolving when initialization is finished
Inherited from
off
▸ off<E
>(event
, listener
): CanvasRenderer
<ResultT
>
Removes the listener from the listener array for the event
Type parameters
Name | Type |
---|---|
E | extends keyof RendererEvents |
Parameters
Name | Type | Description |
---|---|---|
event | E | The name of the event |
listener | RendererEvents [E ] | The callback function |
Returns
CanvasRenderer
<ResultT
>
This EventEmitter
Inherited from
on
▸ on<E
>(event
, listener
): CanvasRenderer
<ResultT
>
Adds the listener function to the event
Type parameters
Name | Type |
---|---|
E | extends keyof RendererEvents |
Parameters
Name | Type | Description |
---|---|---|
event | E | The name of the event |
listener | RendererEvents [E ] | The callback function |
Returns
CanvasRenderer
<ResultT
>
This EventEmitter
Inherited from
once
▸ once<E
>(event
, listener
): CanvasRenderer
<ResultT
>
Adds a one-time listener function for the event
Type parameters
Name | Type |
---|---|
E | extends keyof RendererEvents |
Parameters
Name | Type | Description |
---|---|---|
event | E | The name of the event |
listener | RendererEvents [E ] | The callback function |
Returns
CanvasRenderer
<ResultT
>
This EventEmitter
Inherited from
prependListener
▸ prependListener<E
>(event
, listener
): CanvasRenderer
<ResultT
>
Adds the listener function to the beginning of the listeners array
Type parameters
Name | Type |
---|---|
E | extends keyof RendererEvents |
Parameters
Name | Type | Description |
---|---|---|
event | E | The name of the event |
listener | RendererEvents [E ] | The callback function |
Returns
CanvasRenderer
<ResultT
>
This EventEmitter
Inherited from
prependOnceListener
▸ prependOnceListener<E
>(event
, listener
): CanvasRenderer
<ResultT
>
Adds a one-time listener function to the beginning of the listeners array
Type parameters
Name | Type |
---|---|
E | extends keyof RendererEvents |
Parameters
Name | Type | Description |
---|---|---|
event | E | The name of the event |
listener | RendererEvents [E ] | The callback function |
Returns
CanvasRenderer
<ResultT
>
Inherited from
rawListeners
▸ rawListeners<E
>(event
): Function
[]
Copy of the array of listeners for the event including wrappers
Type parameters
Name | Type |
---|---|
E | extends keyof RendererEvents |
Parameters
Name | Type | Description |
---|---|---|
event | E | The name of the event |
Returns
Function
[]
Copy of the listeners array
Inherited from
removeAllListeners
▸ removeAllListeners<E
>(event?
): CanvasRenderer
<ResultT
>
Removes all listeners, or those of the specified event
Type parameters
Name | Type |
---|---|
E | extends keyof RendererEvents |
Parameters
Name | Type | Description |
---|---|---|
event? | E | The name of the event |
Returns
CanvasRenderer
<ResultT
>
This EventEmitter
Inherited from
removeListener
▸ removeListener<E
>(event
, listener
): CanvasRenderer
<ResultT
>
Removes the specified listener from the listener array
Type parameters
Name | Type |
---|---|
E | extends keyof RendererEvents |
Parameters
Name | Type | Description |
---|---|---|
event | E | The name of the event |
listener | RendererEvents [E ] | The callback function |
Returns
CanvasRenderer
<ResultT
>
This EventEmitter
Inherited from
setMaxListeners
▸ setMaxListeners(n
): CanvasRenderer
<ResultT
>
Sets maximum number of listeners per event
Parameters
Name | Type | Description |
---|---|---|
n | number | Maximum number of listeners |
Returns
CanvasRenderer
<ResultT
>
This EventEmitter
Inherited from
setMirror
▸ setMirror(mirror
): void
Set mirror mode
CanvasRenderer sets mirror mode of ResponsiveCanvas.
Parameters
Name | Type |
---|---|
mirror | boolean |
Returns
void
setupCamera
▸ setupCamera(ratio
, angle
): void
Set camera parameters
Some video processors statically define camera parameters from just a video resolution. In this cases setupCamera() is used to pass these static camera parameters to renderer.
Parameters
Name | Type | Description |
---|---|---|
ratio | number | Aspect ration of input video |
angle | number | - |
Returns
void
Inherited from
setupVideo
▸ setupVideo(size
, ratio?
): void
Set video parameters
Callback passes aspect ratio to responsive canvas.
Parameters
Name | Type | Description |
---|---|---|
size | Size | Resolution of input video |
ratio? | number | Aspect ration of input video |
Returns
void
Overrides
unload
▸ unload(): void
Reset renderer
Releases all resources and instances created in load(). Overridden by derived classes for particular application.
Returns
void
Inherited from
update
▸ update(result
, stream
): Promise
<void
>
Update the scene
Main method defining the logic of the renderer. Updates the scene according to provided results. Overridden by derived classes for the application.
Parameters
Name | Type | Description |
---|---|---|
result | ResultT | Results of video processing |
stream | HTMLCanvasElement | Captured video frame |
Returns
Promise
<void
>
Promise resolving when update is finished