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.