Class: ThreePlugin<ResultT>
@geenee/bodyrenderers-three.ThreePlugin
Generic plugin for ThreeRenderer
Extends @geenee/armature!ScenePlugin for the three.js rendering engine. ThreePlugin is an abstract generic class simplifying library's API, it doesn't implement any logic and can be used as basis for actual render plugins. It should be parameterized by type of processing results to build a plugin for the implementation of @geenee/armature!Processor.
Type parameters
Name | Type | Description |
---|---|---|
ResultT | extends Object = | Type of processing results |
Hierarchy
-
ScenePlugin
<ResultT
,Scene
>↳
ThreePlugin
↳↳
PosePlugin
↳↳
FacePlugin
↳↳
HandPlugin
Constructors
constructor
• new ThreePlugin<ResultT
>()
Constructor
Type parameters
Name | Type |
---|---|
ResultT | extends Object = |
Inherited from
Properties
loaded
• loaded: boolean
Loaded state
Inherited from
ordinal
• ordinal: number
Ordinal number
Inherited from
renderer
• Protected
Optional
renderer: Renderer
<ResultT
>
Renderer loaded the plugin
Inherited from
scene
• Protected
Optional
scene: Scene
Reference to a scene instance
Inherited from
Methods
dispose
▸ dispose(): void
Dispose video plugin
Returns
void
Inherited from
load
▸ load(renderer
): Promise
<void
>
Initialize plugin
Prepares or modifies the attached node if required. Reference to the scene object is cached and used by plugin on update() and unload(). You need to reload plugin if you want to change scene it's attached to.
Parameters
Name | Type | Description |
---|---|---|
renderer | Renderer <ResultT > | Renderer this plugin is attached to |
Returns
Promise
<void
>
Promise resolving when initialization is finished
Inherited from
setupCamera
▸ setupCamera(ratio
, angle
): void
Set camera parameters
Could be overridden to adjust plugin's pipeline.
Parameters
Name | Type | Description |
---|---|---|
ratio | number | Aspect ration of input video |
angle | number | Vertical field of view in radians |
Returns
void
Inherited from
setupVideo
▸ setupVideo(size
): void
Set video size
Could be overridden to adjust plugin's pipeline.
Parameters
Name | Type | Description |
---|---|---|
size | Size | Resolution of input video |
Returns
void
Inherited from
unload
▸ unload(): void
Reset plugin
Releases all resources allocated in load(). Deletes cached reference to the scene object.
Returns
void
Inherited from
update
▸ update(result
, stream
): Promise
<void
>
Update
Main method implementing the logic of the plugin. Overridden by derived classes for particular task.
Parameters
Name | Type | Description |
---|---|---|
result | ResultT | Results of video processing |
stream | HTMLCanvasElement | Captured video frame |
Returns
Promise
<void
>
Promise resolving when update is finished