Skip to content

@orillusion/core


Class: SpriteRenderer

Defined in: src/components/renderer/SpriteRenderer.ts:29

Component that renders a Sprite asset as a textured quad in world space. Pair with a BillboardComponent on the same Object3D if the quad should face the camera (name tags, HP bars, POI icons). For screen-space UI use DOM / HTML instead — sprites are intentionally scoped to the 3D scene (RFC-005).

Size is expressed in world units (meters). Optional distanceInvariantSize keeps on-screen size constant as the camera moves, useful for labels that need to stay readable.

Constructors

Constructor

new SpriteRenderer(): SpriteRenderer

Defined in: src/components/renderer/SpriteRenderer.ts:50

Returns

SpriteRenderer

Overrides

RenderNode.constructor

Properties

object3D

object3D: Object3D = null

Defined in: src/components/ComponentBase.ts:29

owner object3D

Inherited from

RenderNode.object3D


isDestroyed

isDestroyed: boolean = false

Defined in: src/components/ComponentBase.ts:77

Inherited from

RenderNode.isDestroyed


instanceCount

instanceCount: number = 0

Defined in: src/components/renderer/RenderNode.ts:35

Inherited from

RenderNode.instanceCount


lodLevel

lodLevel: number = 0

Defined in: src/components/renderer/RenderNode.ts:36

Inherited from

RenderNode.lodLevel


alwaysRender

alwaysRender: boolean = false

Defined in: src/components/renderer/RenderNode.ts:37

Inherited from

RenderNode.alwaysRender


instanceID

instanceID: string

Defined in: src/components/renderer/RenderNode.ts:38

Inherited from

RenderNode.instanceID


drawType

drawType: number = 0

Defined in: src/components/renderer/RenderNode.ts:39

Inherited from

RenderNode.drawType


isRenderOrderChange?

optional isRenderOrderChange?: boolean

Defined in: src/components/renderer/RenderNode.ts:55

Inherited from

RenderNode.isRenderOrderChange


needSortOnCameraZ?

optional needSortOnCameraZ?: boolean

Defined in: src/components/renderer/RenderNode.ts:56

Inherited from

RenderNode.needSortOnCameraZ


shadowCacheMode

shadowCacheMode: "auto" | "static" | "dynamic" = 'auto'

Defined in: src/components/renderer/RenderNode.ts:437

Shadow cache classification.

  • 'auto' (default): renderer is drawn to the shadow map every frame as part of the single-pass render — matches historical behaviour.
  • 'static': renderer is drawn only to the cached static depth layer, rebuilt lazily when the light moves or the scene explicitly marks the static cache dirty. Use for buildings, terrain, prop meshes that don't move.
  • 'dynamic': renderer is drawn every frame on top of the copied-in static layer. Use for characters, physics objects, anything that moves.

Only consulted when engine.setting.shadow.enableStaticCache === true; otherwise all renderers behave as 'auto'.

Inherited from

RenderNode.shadowCacheMode

Accessors

visibleLayer

Get Signature

get visibleLayer(): number

Defined in: src/components/ComponentBase.ts:46

Composition-layer membership bitmask. The pass / camera / collector filters via

(component.visibleLayer & pass.layerMask & camera.cullingMask) !== 0

Defaults to VisibleLayer.Default (bit 0) so a fresh subclass is visible to passes whose layerMask is VisibleLayer.All (which includes bit 0). Application code can assign project-specific bits (1..31) to organise the scene into composition layers.

Returns

number

Set Signature

set visibleLayer(value): void

Defined in: src/components/ComponentBase.ts:50

Parameters
value

number

Returns

void

Inherited from

RenderNode.visibleLayer


eventDispatcher

Get Signature

get eventDispatcher(): CEventDispatcher

Defined in: src/components/ComponentBase.ts:63

Returns

CEventDispatcher

Set Signature

set eventDispatcher(value): void

Defined in: src/components/ComponentBase.ts:68

Parameters
value

CEventDispatcher

Returns

void

Inherited from

RenderNode.eventDispatcher


isStart

Get Signature

get isStart(): boolean

Defined in: src/components/ComponentBase.ts:79

Returns

boolean

Inherited from

RenderNode.isStart


transform

Get Signature

get transform(): Transform

Defined in: src/components/ComponentBase.ts:89

Return the Transform component attached to the Object3D. Null before the component is attached — addComponent assigns object3D only after construction — so constructor-time callers can probe safely via this.transform?..

Returns

Transform

Inherited from

RenderNode.transform


enable

Get Signature

get enable(): boolean

Defined in: src/components/ComponentBase.ts:113

Enable/disable components. The enabled components can be updated, while the disabled components cannot be updated.

Returns

boolean

Set Signature

set enable(value): void

Defined in: src/components/ComponentBase.ts:96

Enable/disable components. The enabled components can be updated, while the disabled components cannot be updated.

Parameters
value

boolean

Returns

void

Inherited from

RenderNode.enable


batchMode

Get Signature

get batchMode(): BatchMode

Defined in: src/components/renderer/RenderNode.ts:118

Returns

BatchMode

Set Signature

set batchMode(value): void

Defined in: src/components/renderer/RenderNode.ts:122

Parameters
value

BatchMode

Returns

void

Inherited from

RenderNode.batchMode


geometry

Get Signature

get geometry(): GeometryBase

Defined in: src/components/renderer/RenderNode.ts:126

Returns

GeometryBase

Set Signature

set geometry(value): void

Defined in: src/components/renderer/RenderNode.ts:130

Parameters
value

GeometryBase

Returns

void

Inherited from

RenderNode.geometry


rendererMask

Get Signature

get rendererMask(): number

Defined in: src/components/renderer/RenderNode.ts:156

Returns

number

Set Signature

set rendererMask(value): void

Defined in: src/components/renderer/RenderNode.ts:160

Parameters
value

number

Returns

void

Inherited from

RenderNode.rendererMask


renderOrder

Get Signature

get renderOrder(): number

Defined in: src/components/renderer/RenderNode.ts:164

Returns

number

Set Signature

set renderOrder(value): void

Defined in: src/components/renderer/RenderNode.ts:168

Parameters
value

number

Returns

void

Inherited from

RenderNode.renderOrder


materials

Get Signature

get materials(): Material[]

Defined in: src/components/renderer/RenderNode.ts:177

Returns

Material[]

Set Signature

set materials(value): void

Defined in: src/components/renderer/RenderNode.ts:181

Parameters
value

Material[]

Returns

void

Inherited from

RenderNode.materials


castShadow

Get Signature

get castShadow(): boolean

Defined in: src/components/renderer/RenderNode.ts:413

Returns

boolean

Set Signature

set castShadow(value): void

Defined in: src/components/renderer/RenderNode.ts:417

Parameters
value

boolean

Returns

void

Inherited from

RenderNode.castShadow


castGI

Get Signature

get castGI(): boolean

Defined in: src/components/renderer/RenderNode.ts:440

Returns

boolean

Set Signature

set castGI(value): void

Defined in: src/components/renderer/RenderNode.ts:444

Parameters
value

boolean

Returns

void

Inherited from

RenderNode.castGI


castReflection

Get Signature

get castReflection(): boolean

Defined in: src/components/renderer/RenderNode.ts:448

Returns

boolean

Set Signature

set castReflection(value): void

Defined in: src/components/renderer/RenderNode.ts:452

Parameters
value

boolean

Returns

void

Inherited from

RenderNode.castReflection


sprite

Get Signature

get sprite(): Sprite

Defined in: src/components/renderer/SpriteRenderer.ts:93

The bound Sprite asset. null until either sprite is set explicitly or a shortcut setter runs.

Returns

Sprite

Set Signature

set sprite(value): void

Defined in: src/components/renderer/SpriteRenderer.ts:97

Parameters
value

Sprite

Returns

void


texture

Get Signature

get texture(): Texture

Defined in: src/components/renderer/SpriteRenderer.ts:128

Returns

Texture

Set Signature

set texture(tex): void

Defined in: src/components/renderer/SpriteRenderer.ts:124

Shortcut: assign a Sprite from a texture (auto-managed private sprite).

Parameters
tex

Texture

Returns

void


pivot

Get Signature

get pivot(): Vector2

Defined in: src/components/renderer/SpriteRenderer.ts:136

Anchor point in [0,1]². Stored as a per-renderer override; the bound sprite asset stays untouched. Swapping sprite preserves this.

Returns

Vector2

Set Signature

set pivot(value): void

Defined in: src/components/renderer/SpriteRenderer.ts:140

Parameters
value

Vector2

Returns

void


uvRect

Get Signature

get uvRect(): Vector4

Defined in: src/components/renderer/SpriteRenderer.ts:150

UV sub-region as normalized (offsetX, offsetY, scaleX, scaleY). Stored as a per-renderer override.

Returns

Vector4

Set Signature

set uvRect(value): void

Defined in: src/components/renderer/SpriteRenderer.ts:154

Parameters
value

Vector4

Returns

void


color

Get Signature

get color(): Color

Defined in: src/components/renderer/SpriteRenderer.ts:163

Rendering color (multiplied with the sampled texel).

Returns

Color

Set Signature

set color(value): void

Defined in: src/components/renderer/SpriteRenderer.ts:167

Parameters
value

Color

Returns

void


size

Get Signature

get size(): Vector2

Defined in: src/components/renderer/SpriteRenderer.ts:173

Render size in world units (meters).

Returns

Vector2

Set Signature

set size(value): void

Defined in: src/components/renderer/SpriteRenderer.ts:177

Parameters
value

Vector2

Returns

void


distanceInvariantSize

Get Signature

get distanceInvariantSize(): boolean

Defined in: src/components/renderer/SpriteRenderer.ts:187

When true, the quad's on-screen size stays constant regardless of camera distance. Works by scaling local vertex position with the camera-to-sprite distance in the vertex shader.

Returns

boolean

Set Signature

set distanceInvariantSize(value): void

Defined in: src/components/renderer/SpriteRenderer.ts:191

Parameters
value

boolean

Returns

void


cornerRadius

Get Signature

get cornerRadius(): number

Defined in: src/components/renderer/SpriteRenderer.ts:202

Rounded-corner radius in the same world units as size. 0 disables the rounding. The quad edge fades to 0 alpha via a signed-distance mask — useful for card-style labels / icons in world space.

Returns

number

Set Signature

set cornerRadius(value): void

Defined in: src/components/renderer/SpriteRenderer.ts:207

Parameters
value

number

Returns

void


material

Get Signature

get material(): SpriteMaterial

Defined in: src/components/renderer/SpriteRenderer.ts:214

Returns

SpriteMaterial

Set Signature

set material(value): void

Defined in: src/components/renderer/SpriteRenderer.ts:218

Parameters
value

SpriteMaterial

Returns

void


visible

Get Signature

get visible(): boolean

Defined in: src/components/renderer/SpriteRenderer.ts:225

Alias for enablevisible = false stops rendering without destroying the component.

Returns

boolean

Set Signature

set visible(value): void

Defined in: src/components/renderer/SpriteRenderer.ts:226

Parameters
value

boolean

Returns

void

Methods

start()

start(): void

Defined in: src/components/ComponentBase.ts:162

Returns

void

Inherited from

RenderNode.start


stop()

stop(): void

Defined in: src/components/ComponentBase.ts:163

Returns

void

Inherited from

RenderNode.stop


onUpdate()?

optional onUpdate(view?): any

Defined in: src/components/ComponentBase.ts:166

Parameters

view?

View3D

Returns

any

Inherited from

RenderNode.onUpdate


onLateUpdate()?

optional onLateUpdate(view?): any

Defined in: src/components/ComponentBase.ts:167

Parameters

view?

View3D

Returns

any

Inherited from

RenderNode.onLateUpdate


onBeforeUpdate()?

optional onBeforeUpdate(view?): any

Defined in: src/components/ComponentBase.ts:168

Parameters

view?

View3D

Returns

any

Inherited from

RenderNode.onBeforeUpdate


onCompute()?

optional onCompute(view?, command?): any

Defined in: src/components/ComponentBase.ts:169

Parameters

view?

View3D

command?

GPUCommandEncoder

Returns

any

Inherited from

RenderNode.onCompute


onGraphic()?

optional onGraphic(view?): any

Defined in: src/components/ComponentBase.ts:170

Parameters

view?

View3D

Returns

any

Inherited from

RenderNode.onGraphic


onParentChange()?

optional onParentChange(lastParent?, currentParent?): any

Defined in: src/components/ComponentBase.ts:171

Parameters

lastParent?

Object3D

currentParent?

Object3D

Returns

any

Inherited from

RenderNode.onParentChange


onAddChild()?

optional onAddChild(child): any

Defined in: src/components/ComponentBase.ts:172

Parameters

child

Object3D

Returns

any

Inherited from

RenderNode.onAddChild


onRemoveChild()?

optional onRemoveChild(child): any

Defined in: src/components/ComponentBase.ts:173

Parameters

child

Object3D

Returns

any

Inherited from

RenderNode.onRemoveChild


attachSceneOctree()

attachSceneOctree(octree): void

Defined in: src/components/renderer/RenderNode.ts:87

Parameters

octree

Octree

Returns

void

Inherited from

RenderNode.attachSceneOctree


detachSceneOctree()

detachSceneOctree(): void

Defined in: src/components/renderer/RenderNode.ts:92

Returns

void

Inherited from

RenderNode.detachSceneOctree


addMask()

addMask(mask): void

Defined in: src/components/renderer/RenderNode.ts:144

Parameters

mask

RendererMask

Returns

void

Inherited from

RenderNode.addMask


removeMask()

removeMask(mask): void

Defined in: src/components/renderer/RenderNode.ts:148

Parameters

mask

RendererMask

Returns

void

Inherited from

RenderNode.removeMask


hasMask()

hasMask(mask): boolean

Defined in: src/components/renderer/RenderNode.ts:152

Parameters

mask

RendererMask

Returns

boolean

Inherited from

RenderNode.hasMask


addRendererMask()

addRendererMask(tag): void

Defined in: src/components/renderer/RenderNode.ts:232

Parameters

tag

RendererMask

Returns

void

Inherited from

RenderNode.addRendererMask


removeRendererMask()

removeRendererMask(tag): void

Defined in: src/components/renderer/RenderNode.ts:236

Parameters

tag

RendererMask

Returns

void

Inherited from

RenderNode.removeRendererMask


refreshRenderClassification()

refreshRenderClassification(): void

Defined in: src/components/renderer/RenderNode.ts:270

Recompute renderOrder from current pass states and re-bucket this renderer in EntityCollect (opaque vs transparent map).

Called when a material's alphaMode flips at runtime — the pass.renderOrder changes (3000 ↔ 0), but EntityCollect classifies once at addRenderNode time. Without this nudge the renderer stays in its old list and gets drawn through the wrong pipeline (e.g. WBOIT continues drawing a HASH-toggled material).

Materials hop into this via Reference.getReference(material) to find every renderer holding them; sample code can also call it directly after manual state changes.

Returns

void

Inherited from

RenderNode.refreshRenderClassification


selfCloneMaterials()

selfCloneMaterials(key): this

Defined in: src/components/renderer/RenderNode.ts:295

Parameters

key

string

Returns

this

Inherited from

RenderNode.selfCloneMaterials


renderPass()

renderPass(view, passType, renderContext): void

Defined in: src/components/renderer/RenderNode.ts:456

Parameters

view

View3D

passType

PassType

renderContext

RenderContext

Returns

void

Inherited from

RenderNode.renderPass


renderPass2()

renderPass2(view, passType, rendererPassState, clusterLightingBuffer, encoder, useBundle?): void

Defined in: src/components/renderer/RenderNode.ts:528

render pass at passType

Parameters

view

View3D

passType

PassType

rendererPassState

RendererPassState

clusterLightingBuffer

ClusterLightingBuffer

encoder

GPURenderPassEncoder

useBundle?

boolean = false

Returns

void

Inherited from

RenderNode.renderPass2


recordRenderPass2()

recordRenderPass2(view, passType, rendererPassState, clusterLightingBuffer, encoder, useBundle?): void

Defined in: src/components/renderer/RenderNode.ts:586

Parameters

view

View3D

passType

PassType

rendererPassState

RendererPassState

clusterLightingBuffer

ClusterLightingBuffer

encoder

GPURenderPassEncoder

useBundle?

boolean = false

Returns

void

Inherited from

RenderNode.recordRenderPass2


preInit()

preInit(_rendererType): boolean

Defined in: src/components/renderer/RenderNode.ts:624

Parameters

_rendererType

PassType

Returns

boolean

Inherited from

RenderNode.preInit


nodeUpdate()

nodeUpdate(view, passType, renderPassState, clusterLightingBuffer?): void

Defined in: src/components/renderer/RenderNode.ts:628

Parameters

view

View3D

passType

PassType

renderPassState

RendererPassState

clusterLightingBuffer?

ClusterLightingBuffer

Returns

void

Inherited from

RenderNode.nodeUpdate


beforeDestroy()

beforeDestroy(force?): void

Defined in: src/components/renderer/RenderNode.ts:741

before release this component, object refrences are not be set null now.

Parameters

force?

boolean

Returns

void

Inherited from

RenderNode.beforeDestroy


destroy()

destroy(force?): void

Defined in: src/components/renderer/RenderNode.ts:762

release this component

Parameters

force?

boolean

Returns

void

Inherited from

RenderNode.destroy


init()

init(param?): void

Defined in: src/components/renderer/SpriteRenderer.ts:55

Parameters

param?

any

Returns

void

Overrides

RenderNode.init


onEnable()

onEnable(): void

Defined in: src/components/renderer/SpriteRenderer.ts:65

Returns

void

Overrides

RenderNode.onEnable


onDisable()

onDisable(): void

Defined in: src/components/renderer/SpriteRenderer.ts:72

Returns

void

Overrides

RenderNode.onDisable


setTexture()

setTexture(texture): void

Defined in: src/components/renderer/SpriteRenderer.ts:114

Shortcut: bind a bare texture as the sprite. The first call creates a private auto-managed Sprite; subsequent calls update its texture in place without allocating a new Sprite.

Parameters

texture

Texture

Returns

void


cloneTo()

cloneTo(obj): void

Defined in: src/components/renderer/SpriteRenderer.ts:287

clone component data to target object3D

Parameters

obj

Object3D

target object3D

Returns

void

Overrides

RenderNode.cloneTo


copyComponent()

copyComponent(from): this

Defined in: src/components/renderer/SpriteRenderer.ts:292

Parameters

from

this

Returns

this

Overrides

RenderNode.copyComponent