Skip to content

Documentation / scene / ProxyDrawable

Class: ProxyDrawable ​

Defined in: libs/scene/src/scene/meshdrawable.ts:103

Drawable proxy that renders an existing drawable with an optional material override.

The proxy delegates geometry, picking, sorting, skinning, morph targets, and transform-related state to the host drawable, so it can be submitted as a separate drawable while sharing the host's animated and spatial state.

If no override material is provided, the proxy uses the host drawable's material.

Extends ​

Constructors ​

Constructor ​

new ProxyDrawable(host, node?, overrideMaterial?): ProxyDrawable

Defined in: libs/scene/src/scene/meshdrawable.ts:104

Parameters ​

host ​

Disposable & Drawable

node? ​

SceneNode

overrideMaterial? ​

MeshMaterial

Returns ​

ProxyDrawable

Overrides ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).constructor

Properties ​

objectColor ​

readonly objectColor: Vector4

Defined in: libs/scene/src/render/drawable_mixin.ts:13

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).objectColor


_host ​

protected _host: DWeakRef<Disposable & Drawable>

Defined in: libs/scene/src/scene/meshdrawable.ts:24

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable)._host


_node ​

protected _node: DWeakRef<SceneNode>

Defined in: libs/scene/src/scene/meshdrawable.ts:25

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable)._node


_material ​

protected _material: DRef<MeshMaterial>

Defined in: libs/scene/src/scene/meshdrawable.ts:26

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable)._material

Accessors ​

disposed ​

Get Signature ​

get disposed(): boolean

Defined in: libs/base/dist/index.d.ts:6107

Returns ​

boolean

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).disposed

Methods ​

isPrototypeOf() ​

static isPrototypeOf(v): boolean

Defined in: libs/base/dist/index.d.ts:80

Parameters ​

v ​

object

Returns ​

boolean

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).isPrototypeOf


on() ​

on<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:630

IEventTarget.on

Type Parameters ​

K ​

K extends "dispose"

Parameters ​

type ​

K

listener ​

EventListener<{ dispose: []; }, K>

context? ​

unknown

Returns ​

void

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).on


once() ​

once<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:634

IEventTarget.once

Type Parameters ​

K ​

K extends "dispose"

Parameters ​

type ​

K

listener ​

EventListener<{ dispose: []; }, K>

context? ​

unknown

Returns ​

void

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).once


off() ​

off<K>(type, listener?, context?): void

Defined in: libs/base/dist/index.d.ts:638

IEventTarget.off

Type Parameters ​

K ​

K extends "dispose"

Parameters ​

type ​

K

listener? ​

EventListener<{ dispose: []; }>

context? ​

unknown

Returns ​

void

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).off


dispatchEvent() ​

dispatchEvent<K>(type, ...args): void

Defined in: libs/base/dist/index.d.ts:642

IEventTarget.dispatchEvent

Type Parameters ​

K ​

K extends "dispose"

Parameters ​

type ​

K

args ​

...object[K]

Returns ​

void

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).dispatchEvent


dispose() ​

dispose(): void

Defined in: libs/base/dist/index.d.ts:6108

Returns ​

void

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).dispose


onDispose() ​

protected onDispose(): void

Defined in: libs/base/dist/index.d.ts:6109

Returns ​

void

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).onDispose


getDrawableId() ​

getDrawableId(): number

Defined in: libs/scene/src/render/drawable_mixin.ts:14

Returns ​

number

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).getDrawableId


pushRenderQueueRef() ​

pushRenderQueueRef(ref): void

Defined in: libs/scene/src/render/drawable_mixin.ts:15

Parameters ​

ref ​

RenderQueueRef

Returns ​

void

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).pushRenderQueueRef


applyInstanceOffsetAndStride() ​

applyInstanceOffsetAndStride(renderQueue, stride, offset): void

Defined in: libs/scene/src/render/drawable_mixin.ts:16

Parameters ​

renderQueue ​

RenderQueue

stride ​

number

offset ​

number

Returns ​

void

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).applyInstanceOffsetAndStride


applyTransformUniforms() ​

applyTransformUniforms(renderQueue): void

Defined in: libs/scene/src/render/drawable_mixin.ts:17

Parameters ​

renderQueue ​

RenderQueue

Returns ​

void

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).applyTransformUniforms


applyMaterialUniforms() ​

applyMaterialUniforms(instanceInfo): void

Defined in: libs/scene/src/render/drawable_mixin.ts:18

Parameters ​

instanceInfo ​

DrawableInstanceInfo

Returns ​

void

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).applyMaterialUniforms


applyMaterialUniformsAll() ​

applyMaterialUniformsAll(): void

Defined in: libs/scene/src/render/drawable_mixin.ts:19

Returns ​

void

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).applyMaterialUniformsAll


getObjectColor() ​

getObjectColor(): Vector4

Defined in: libs/scene/src/render/drawable_mixin.ts:20

Returns ​

Vector4

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).getObjectColor


updateState() ​

updateState(): void

Defined in: libs/scene/src/render/drawable_mixin.ts:21

Returns ​

void

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).updateState


bind() ​

bind(ctx, renderQueue): void

Defined in: libs/scene/src/render/drawable_mixin.ts:22

Parameters ​

ctx ​

DrawContext

renderQueue ​

RenderQueue

Returns ​

void

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).bind


getName() ​

getName(): string

Defined in: libs/scene/src/scene/meshdrawable.ts:39

Returns ​

string

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).getName


getNode() ​

getNode(): SceneNode

Defined in: libs/scene/src/scene/meshdrawable.ts:42

Returns ​

SceneNode

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).getNode


getPickTarget() ​

getPickTarget(): PickTarget

Defined in: libs/scene/src/scene/meshdrawable.ts:45

Returns ​

PickTarget

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).getPickTarget


getBoneMatrices() ​

getBoneMatrices(): Texture2D<unknown>

Defined in: libs/scene/src/scene/meshdrawable.ts:48

Returns ​

Texture2D<unknown>

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).getBoneMatrices


getMorphData() ​

getMorphData(): MorphData

Defined in: libs/scene/src/scene/meshdrawable.ts:51

Returns ​

MorphData

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).getMorphData


getMorphInfo() ​

getMorphInfo(): MorphInfo

Defined in: libs/scene/src/scene/meshdrawable.ts:54

Returns ​

MorphInfo

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).getMorphInfo


getSkinInfluenceData() ​

getSkinInfluenceData(): SkinInfluenceData

Defined in: libs/scene/src/scene/meshdrawable.ts:57

Returns ​

SkinInfluenceData

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).getSkinInfluenceData


getSortDistance() ​

getSortDistance(camera): number

Defined in: libs/scene/src/scene/meshdrawable.ts:60

Parameters ​

camera ​

Camera

Returns ​

number

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).getSortDistance


getQueueType() ​

getQueueType(): number

Defined in: libs/scene/src/scene/meshdrawable.ts:63

Returns ​

number

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).getQueueType


needSceneColor() ​

needSceneColor(): boolean

Defined in: libs/scene/src/scene/meshdrawable.ts:66

Returns ​

boolean

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).needSceneColor


needSceneDepth() ​

needSceneDepth(): boolean

Defined in: libs/scene/src/scene/meshdrawable.ts:69

Returns ​

boolean

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).needSceneDepth


isUnlit() ​

isUnlit(): boolean

Defined in: libs/scene/src/scene/meshdrawable.ts:72

Returns ​

boolean

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).isUnlit


getMaterial() ​

getMaterial(): MeshMaterial

Defined in: libs/scene/src/scene/meshdrawable.ts:75

Returns ​

MeshMaterial

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).getMaterial


getPrimitive() ​

getPrimitive(): Primitive

Defined in: libs/scene/src/scene/meshdrawable.ts:78

Returns ​

Primitive

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).getPrimitive


isBatchable() ​

isBatchable(): this is BatchDrawable

Defined in: libs/scene/src/scene/meshdrawable.ts:81

Returns ​

this is BatchDrawable

Inherited from ​

applyMixins(ProxyDrawableBase<Disposable & Drawable>, mixinDrawable).isBatchable


draw() ​

draw(ctx, renderQueue): void

Defined in: libs/scene/src/scene/meshdrawable.ts:107

Parameters ​

ctx ​

DrawContext

renderQueue ​

RenderQueue

Returns ​

void

Released under the MIT License.