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 enable — visible = 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