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?
optionalisRenderOrderChange?:boolean
Defined in: src/components/renderer/RenderNode.ts:55
Inherited from
RenderNode.isRenderOrderChange
needSortOnCameraZ?
optionalneedSortOnCameraZ?: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
Set Signature
set eventDispatcher(
value):void
Defined in: src/components/ComponentBase.ts:68
Parameters
value
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
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
Set Signature
set batchMode(
value):void
Defined in: src/components/renderer/RenderNode.ts:122
Parameters
value
Returns
void
Inherited from
RenderNode.batchMode
geometry
Get Signature
get geometry():
GeometryBase
Defined in: src/components/renderer/RenderNode.ts:126
Returns
Set Signature
set geometry(
value):void
Defined in: src/components/renderer/RenderNode.ts:130
Parameters
value
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
Set Signature
set sprite(
value):void
Defined in: src/components/renderer/SpriteRenderer.ts:97
Parameters
value
Returns
void
texture
Get Signature
get texture():
Texture
Defined in: src/components/renderer/SpriteRenderer.ts:128
Returns
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
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
Set Signature
set pivot(
value):void
Defined in: src/components/renderer/SpriteRenderer.ts:140
Parameters
value
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
Set Signature
set color(
value):void
Defined in: src/components/renderer/SpriteRenderer.ts:167
Parameters
value
Returns
void
size
Get Signature
get size():
Vector2
Defined in: src/components/renderer/SpriteRenderer.ts:173
Render size in world units (meters).
Returns
Set Signature
set size(
value):void
Defined in: src/components/renderer/SpriteRenderer.ts:177
Parameters
value
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
Set Signature
set material(
value):void
Defined in: src/components/renderer/SpriteRenderer.ts:218
Parameters
value
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()?
optionalonUpdate(view?):any
Defined in: src/components/ComponentBase.ts:166
Parameters
view?
Returns
any
Inherited from
RenderNode.onUpdate
onLateUpdate()?
optionalonLateUpdate(view?):any
Defined in: src/components/ComponentBase.ts:167
Parameters
view?
Returns
any
Inherited from
RenderNode.onLateUpdate
onBeforeUpdate()?
optionalonBeforeUpdate(view?):any
Defined in: src/components/ComponentBase.ts:168
Parameters
view?
Returns
any
Inherited from
RenderNode.onBeforeUpdate
onCompute()?
optionalonCompute(view?,command?):any
Defined in: src/components/ComponentBase.ts:169
Parameters
view?
command?
GPUCommandEncoder
Returns
any
Inherited from
RenderNode.onCompute
onGraphic()?
optionalonGraphic(view?):any
Defined in: src/components/ComponentBase.ts:170
Parameters
view?
Returns
any
Inherited from
RenderNode.onGraphic
onParentChange()?
optionalonParentChange(lastParent?,currentParent?):any
Defined in: src/components/ComponentBase.ts:171
Parameters
lastParent?
currentParent?
Returns
any
Inherited from
RenderNode.onParentChange
onAddChild()?
optionalonAddChild(child):any
Defined in: src/components/ComponentBase.ts:172
Parameters
child
Returns
any
Inherited from
RenderNode.onAddChild
onRemoveChild()?
optionalonRemoveChild(child):any
Defined in: src/components/ComponentBase.ts:173
Parameters
child
Returns
any
Inherited from
RenderNode.onRemoveChild
attachSceneOctree()
attachSceneOctree(
octree):void
Defined in: src/components/renderer/RenderNode.ts:87
Parameters
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
Returns
void
Inherited from
RenderNode.addMask
removeMask()
removeMask(
mask):void
Defined in: src/components/renderer/RenderNode.ts:148
Parameters
mask
Returns
void
Inherited from
RenderNode.removeMask
hasMask()
hasMask(
mask):boolean
Defined in: src/components/renderer/RenderNode.ts:152
Parameters
mask
Returns
boolean
Inherited from
RenderNode.hasMask
addRendererMask()
addRendererMask(
tag):void
Defined in: src/components/renderer/RenderNode.ts:232
Parameters
tag
Returns
void
Inherited from
RenderNode.addRendererMask
removeRendererMask()
removeRendererMask(
tag):void
Defined in: src/components/renderer/RenderNode.ts:236
Parameters
tag
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
passType
PassType
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
passType
PassType
rendererPassState
RendererPassState
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
passType
PassType
rendererPassState
RendererPassState
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
passType
PassType
renderPassState
RendererPassState
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
Returns
void
cloneTo()
cloneTo(
obj):void
Defined in: src/components/renderer/SpriteRenderer.ts:287
clone component data to target object3D
Parameters
obj
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

