Class: SpriteMaterial
Defined in: src/materials/SpriteMaterial.ts:19
Material for SpriteRenderer — a single textured, tinted quad in world space. No lighting, no shadow, no reflection — depth-test on, depth-write off, two-sided, blendMode NORMAL. Supports a distanceInvariant flag so sprites can keep a constant on-screen size as the camera moves.
Extends
Constructors
Constructor
new SpriteMaterial(
ctx?):SpriteMaterial
Defined in: src/materials/SpriteMaterial.ts:21
Parameters
ctx?
Returns
SpriteMaterial
Overrides
Properties
instanceID
instanceID:
string
Defined in: src/materials/Material.ts:26
Material Unique Identifier
Inherited from
name
name:
string
Defined in: src/materials/Material.ts:32
name of this material
Inherited from
enable
enable:
boolean=true
Defined in: src/materials/Material.ts:35
Whether this material is enabled for rendering.
Inherited from
Accessors
oitMode
Get Signature
get oitMode():
"sorted"|"weighted"|"depth-peel"
Defined in: src/materials/Material.ts:69
Order-independent transparency mode opt-in.
'sorted'(default): back-to-front sorted alpha-blend. Cheap, correct between meshes, but in-mesh triangle order is geometry- based not depth-based so self-overlapping meshes (spheres, torus) show banding.'weighted': McGuire-Bavoil 2013 Weighted-Blended OIT. Single- pass, order-independent, no in-mesh banding. Approximate — accum.rgb/accum.a degenerates to a depth-weighted average so α=1 looks averaged-milky at small scene scales (the front-vs- back depth-weight ratio saturates the paper's z/200 norm). Use for unbounded transparent layer counts: particles, smoke, foliage, hair cards.'depth-peel': Dual depth peeling. Multi-pass (passCount × 2 layers), order-correct over operator. α=1 is cleanly opaque — front fragment dominates because subsequent layers get multiplied by (1 - frontColor.a) = 0. Hard layer count limit (default 10). Use for hero glass, scientific visualization, layered architectural geometry.
All three only take effect when engine.setting.render.useOIT is true (otherwise everything falls through the sorted path).
Setter notifies attached renderers so the corresponding derived pass(es) get lazily generated when flipping mode at runtime. Without this, callers had to follow up with an alphaMode setter call to provoke refreshRenderClassification → castNeedPass.
Documented at Material-level (not LitMaterial) so any future material subclass (particle, decal) can opt in.
Returns
"sorted" | "weighted" | "depth-peel"
Set Signature
set oitMode(
value):void
Defined in: src/materials/Material.ts:74
Set the order-independent transparency mode, notifying renderers to re-classify the affected passes.
Parameters
value
"sorted" | "weighted" | "depth-peel"
Returns
void
Inherited from
shader
Get Signature
get shader():
Shader
Defined in: src/materials/Material.ts:96
Get the shader bound to this material.
Returns
Set Signature
set shader(
shader):void
Defined in: src/materials/Material.ts:90
Set the shader for this material and cache its default sub-shader.
Parameters
shader
Returns
void
Inherited from
doubleSide
Get Signature
get doubleSide():
boolean
Defined in: src/materials/Material.ts:101
Whether the default sub-shader renders both faces (no back-face culling).
Returns
boolean
Set Signature
set doubleSide(
value):void
Defined in: src/materials/Material.ts:106
Enable or disable double-sided rendering on the default sub-shader.
Parameters
value
boolean
Returns
void
Inherited from
castShadow
Get Signature
get castShadow():
boolean
Defined in: src/materials/Material.ts:111
Whether this material casts shadows.
Returns
boolean
Set Signature
set castShadow(
value):void
Defined in: src/materials/Material.ts:116
Enable or disable shadow casting for this material.
Parameters
value
boolean
Returns
void
Inherited from
acceptShadow
Get Signature
get acceptShadow():
boolean
Defined in: src/materials/Material.ts:124
Whether this material receives shadows from other casters.
Returns
boolean
Set Signature
set acceptShadow(
value):void
Defined in: src/materials/Material.ts:129
Enable or disable shadow receiving for this material.
Parameters
value
boolean
Returns
void
Inherited from
castReflection
Get Signature
get castReflection():
boolean
Defined in: src/materials/Material.ts:139
Whether this material contributes to reflection probes.
Returns
boolean
Set Signature
set castReflection(
value):void
Defined in: src/materials/Material.ts:144
Enable or disable reflection casting for this material.
Parameters
value
boolean
Returns
void
Inherited from
blendMode
Get Signature
get blendMode():
BlendMode
Defined in: src/materials/Material.ts:149
The blend mode of the default sub-shader.
Returns
Set Signature
set blendMode(
value):void
Defined in: src/materials/Material.ts:154
Set the blend mode of the default sub-shader.
Parameters
value
Returns
void
Inherited from
depthCompare
Get Signature
get depthCompare():
GPUCompareFunction
Defined in: src/materials/Material.ts:159
The depth comparison function of the default sub-shader.
Returns
GPUCompareFunction
Set Signature
set depthCompare(
value):void
Defined in: src/materials/Material.ts:164
Set the depth comparison function across all passes of this material.
Parameters
value
GPUCompareFunction
Returns
void
Inherited from
transparent
Get Signature
get transparent():
boolean
Defined in: src/materials/Material.ts:175
Whether this material is rendered as transparent.
Returns
boolean
Set Signature
set transparent(
value):void
Defined in: src/materials/Material.ts:180
Enable or disable transparency, moving the pass to the transparent queue when enabled.
Parameters
value
boolean
Returns
void
Inherited from
cullMode
Get Signature
get cullMode():
GPUCullMode
Defined in: src/materials/Material.ts:188
The face culling mode of the default sub-shader.
Returns
GPUCullMode
Set Signature
set cullMode(
value):void
Defined in: src/materials/Material.ts:193
Set the face culling mode across all passes of this material.
Parameters
value
GPUCullMode
Returns
void
Inherited from
depthWriteEnabled
Get Signature
get depthWriteEnabled():
boolean
Defined in: src/materials/Material.ts:205
Whether depth writing is enabled for the default sub-shader.
Returns
boolean
Set Signature
set depthWriteEnabled(
value):void
Defined in: src/materials/Material.ts:210
Enable or disable depth writing for the default sub-shader.
Parameters
value
boolean
Returns
void
Inherited from
stencilFront
Get Signature
get stencilFront():
GPUStencilFaceState
Defined in: src/materials/Material.ts:217
Stencil front face state
Returns
GPUStencilFaceState
Set Signature
set stencilFront(
value):void
Defined in: src/materials/Material.ts:222
Set the stencil front face state.
Parameters
value
GPUStencilFaceState
Returns
void
Inherited from
stencilBack
Get Signature
get stencilBack():
GPUStencilFaceState
Defined in: src/materials/Material.ts:229
Stencil back face state
Returns
GPUStencilFaceState
Set Signature
set stencilBack(
value):void
Defined in: src/materials/Material.ts:234
Set the stencil back face state.
Parameters
value
GPUStencilFaceState
Returns
void
Inherited from
stencilReadMask
Get Signature
get stencilReadMask():
number
Defined in: src/materials/Material.ts:241
Stencil read mask
Returns
number
Set Signature
set stencilReadMask(
value):void
Defined in: src/materials/Material.ts:246
Set the stencil read mask.
Parameters
value
number
Returns
void
Inherited from
stencilWriteMask
Get Signature
get stencilWriteMask():
number
Defined in: src/materials/Material.ts:253
Stencil write mask
Returns
number
Set Signature
set stencilWriteMask(
value):void
Defined in: src/materials/Material.ts:258
Set the stencil write mask.
Parameters
value
number
Returns
void
Inherited from
stencilRef
Get Signature
get stencilRef():
number
Defined in: src/materials/Material.ts:265
Stencil reference value
Returns
number
Set Signature
set stencilRef(
value):void
Defined in: src/materials/Material.ts:270
Set the stencil reference value.
Parameters
value
number
Returns
void
Inherited from
useBillboard
Set Signature
set useBillboard(
value):void
Defined in: src/materials/Material.ts:275
Enable or disable billboard orientation via the USE_BILLBOARD shader define.
Parameters
value
boolean
Returns
void
Inherited from
topology
Get Signature
get topology():
GPUPrimitiveTopology
Defined in: src/materials/Material.ts:280
The primitive topology of the default sub-shader.
Returns
GPUPrimitiveTopology
Set Signature
set topology(
value):void
Defined in: src/materials/Material.ts:285
Set the primitive topology of the default sub-shader.
Parameters
value
GPUPrimitiveTopology
Returns
void
Inherited from
baseColor
Get Signature
get baseColor():
Color
Defined in: src/materials/Material.ts:295
Get the base color uniform.
Returns
Set Signature
set baseColor(
color):void
Defined in: src/materials/Material.ts:290
Set the base color uniform.
Parameters
color
Returns
void
Inherited from
baseMap
Get Signature
get baseMap():
Texture
Defined in: src/materials/SpriteMaterial.ts:42
Get the base (albedo) texture sampled by the sprite.
Returns
Set Signature
set baseMap(
texture):void
Defined in: src/materials/SpriteMaterial.ts:37
Set the base (albedo) texture sampled by the sprite.
Parameters
texture
Returns
void
color
Get Signature
get color():
Color
Defined in: src/materials/SpriteMaterial.ts:52
Get the tint color multiplied with the base texture.
Returns
Set Signature
set color(
value):void
Defined in: src/materials/SpriteMaterial.ts:47
Set the tint color multiplied with the base texture.
Parameters
value
Returns
void
uvRect
Get Signature
get uvRect():
Vector4
Defined in: src/materials/SpriteMaterial.ts:62
Get the UV sub-region as (offsetX, offsetY, scaleX, scaleY) in [0,1] texture space.
Returns
Vector4
Set Signature
set uvRect(
value):void
Defined in: src/materials/SpriteMaterial.ts:57
UV sub-region as (offsetX, offsetY, scaleX, scaleY) in [0,1] texture space.
Parameters
value
Vector4
Returns
void
size
Get Signature
get size():
Vector2
Defined in: src/materials/SpriteMaterial.ts:72
Get the quad size in world units (meters).
Returns
Set Signature
set size(
value):void
Defined in: src/materials/SpriteMaterial.ts:67
Quad size in world units (meters).
Parameters
value
Returns
void
pivot
Get Signature
get pivot():
Vector2
Defined in: src/materials/SpriteMaterial.ts:82
Get the pivot point (anchor) of the quad in normalized [0,1] space.
Returns
Set Signature
set pivot(
value):void
Defined in: src/materials/SpriteMaterial.ts:77
Set the pivot point (anchor) of the quad in normalized [0,1] space.
Parameters
value
Returns
void
distanceInvariantSize
Get Signature
get distanceInvariantSize():
boolean
Defined in: src/materials/SpriteMaterial.ts:98
Get whether the sprite keeps a constant on-screen size regardless of camera distance.
Returns
boolean
Set Signature
set distanceInvariantSize(
value):void
Defined in: src/materials/SpriteMaterial.ts:93
When true, the sprite's on-screen size stays constant regardless of camera distance (the vertex shader scales local position by the distance from camera to the sprite's origin, divided by a reference distance). Useful for world-space UI labels that need to stay readable as the camera pans/zooms.
Parameters
value
boolean
Returns
void
cornerRadius
Get Signature
get cornerRadius():
number
Defined in: src/materials/SpriteMaterial.ts:108
Get the rounded-corner radius in world units.
Returns
number
Set Signature
set cornerRadius(
value):void
Defined in: src/materials/SpriteMaterial.ts:103
Rounded-corner radius in world units (same as size). 0 disables.
Parameters
value
number
Returns
void
useVideoTexture
Get Signature
get useVideoTexture():
boolean
Defined in: src/materials/SpriteMaterial.ts:118
Get whether the video-texture code path is enabled.
Returns
boolean
Set Signature
set useVideoTexture(
value):void
Defined in: src/materials/SpriteMaterial.ts:113
Toggle the video-texture code path. SpriteRenderer sets this automatically when the texture is a VideoTexture.
Parameters
value
boolean
Returns
void
envMap
Set Signature
set envMap(
_texture):void
Defined in: src/materials/SpriteMaterial.ts:123
No-op setter; sprites do not sample an environment map.
Parameters
_texture
Returns
void
shadowMap
Set Signature
set shadowMap(
_texture):void
Defined in: src/materials/SpriteMaterial.ts:128
No-op setter; sprites do not receive shadows.
Parameters
_texture
Returns
void
Methods
getPass()
getPass(
passType):RenderShaderPass[]
Defined in: src/materials/Material.ts:304
get render pass by renderType
Parameters
passType
PassType
Returns
Inherited from
getAllPass()
getAllPass():
RenderShaderPass[]
Defined in: src/materials/Material.ts:312
get all color render pass
Returns
Inherited from
clone()
clone():
Material
Defined in: src/materials/Material.ts:320
clone one material
Returns
Material
Inherited from
destroy()
destroy(
force):void
Defined in: src/materials/Material.ts:328
Release this material's shader and clear its identifying fields.
Parameters
force
boolean
Returns
void
Inherited from
setDefine()
setDefine(
define,value):void
Defined in: src/materials/Material.ts:337
Set a shader define flag on this material's shader.
Parameters
define
string
value
boolean
Returns
void
Inherited from
getDefine()
getDefine(
define):boolean
Defined in: src/materials/Material.ts:342
Get the value of a shader define flag.
Parameters
define
string
Returns
boolean
Inherited from
setTexture()
setTexture(
propertyName,texture):void
Defined in: src/materials/Material.ts:347
Bind a texture to the named shader property.
Parameters
propertyName
string
texture
Returns
void
Inherited from
setStorageBuffer()
setStorageBuffer(
propertyName,buffer):void
Defined in: src/materials/Material.ts:352
Bind a storage GPU buffer to the named shader property.
Parameters
propertyName
string
buffer
Returns
void
Inherited from
setUniformBuffer()
setUniformBuffer(
propertyName,buffer):void
Defined in: src/materials/Material.ts:357
Bind a uniform GPU buffer to the named shader property.
Parameters
propertyName
string
buffer
Returns
void
Inherited from
setUniformFloat()
setUniformFloat(
propertyName,value):void
Defined in: src/materials/Material.ts:363
Set a float uniform on the named shader property.
Parameters
propertyName
string
value
number
Returns
void
Inherited from
setUniformInt32()
setUniformInt32(
propertyName,value):void
Defined in: src/materials/Material.ts:368
Set a 32-bit integer uniform on the named shader property.
Parameters
propertyName
string
value
number
Returns
void
Inherited from
setUniformVector2()
setUniformVector2(
propertyName,value):void
Defined in: src/materials/Material.ts:373
Set a Vector2 uniform on the named shader property.
Parameters
propertyName
string
value
Returns
void
Inherited from
setUniformVector3()
setUniformVector3(
propertyName,value):void
Defined in: src/materials/Material.ts:378
Set a Vector3 uniform on the named shader property.
Parameters
propertyName
string
value
Returns
void
Inherited from
setUniformVector4()
setUniformVector4(
propertyName,value):void
Defined in: src/materials/Material.ts:383
Set a Vector4 uniform on the named shader property.
Parameters
propertyName
string
value
Vector4
Returns
void
Inherited from
setUniformColor()
setUniformColor(
propertyName,value):void
Defined in: src/materials/Material.ts:388
Set a color uniform on the named shader property.
Parameters
propertyName
string
value
Returns
void
Inherited from
getUniformFloat()
getUniformFloat(
str):any
Defined in: src/materials/Material.ts:393
Get the float value of the named uniform.
Parameters
str
string
Returns
any
Inherited from
getUniformInt32()
getUniformInt32(
str):any
Defined in: src/materials/Material.ts:398
Get the 32-bit integer value of the named uniform.
Parameters
str
string
Returns
any
Inherited from
getUniformV2()
getUniformV2(
str):Vector2
Defined in: src/materials/Material.ts:403
Get the Vector2 value of the named uniform.
Parameters
str
string
Returns
Inherited from
getUniformV3()
getUniformV3(
str):Vector3
Defined in: src/materials/Material.ts:408
Get the Vector3 value of the named uniform.
Parameters
str
string
Returns
Inherited from
getUniformV4()
getUniformV4(
str):Vector4
Defined in: src/materials/Material.ts:413
Get the Vector4 value of the named uniform.
Parameters
str
string
Returns
Vector4
Inherited from
getUniformColor()
getUniformColor(
str):Color
Defined in: src/materials/Material.ts:418
Get the color value of the named uniform.
Parameters
str
string
Returns
Inherited from
getTexture()
getTexture(
str):Texture
Defined in: src/materials/Material.ts:423
Get the texture bound to the named shader property.
Parameters
str
string
Returns
Inherited from
getStorageBuffer()
getStorageBuffer(
str):StorageGPUBuffer
Defined in: src/materials/Material.ts:428
Get the storage buffer bound to the named shader property.
Parameters
str
string
Returns
Inherited from
getStructStorageBuffer()
getStructStorageBuffer(
str):GPUBufferBase
Defined in: src/materials/Material.ts:433
Get the struct storage buffer bound to the named shader property.
Parameters
str
string
Returns
GPUBufferBase
Inherited from
Material.getStructStorageBuffer
getUniformBuffer()
getUniformBuffer(
str):GPUBufferBase
Defined in: src/materials/Material.ts:438
Get the uniform buffer bound to the named shader property.
Parameters
str
string
Returns
GPUBufferBase
Inherited from
applyUniform()
applyUniform():
void
Defined in: src/materials/Material.ts:443
Upload pending uniform changes to the GPU.
Returns
void

