Documentation / scene / Water
Class: Water
Defined in: libs/scene/src/scene/water.ts:70
Water scene node
Extends
GraphNode<this> &object&Disposable<this> &IMixinDrawable
Implements
Constructors
Constructor
new Water(
scene):Water
Defined in: libs/scene/src/scene/water.ts:117
Creates an instance of Water node
Parameters
scene
Scene object
Returns
Water
Overrides
applyMixins(GraphNode, mixinDrawable).constructor
Properties
objectColor
readonlyobjectColor:Vector4
Defined in: libs/scene/src/render/drawable_mixin.ts:13
Inherited from
applyMixins(GraphNode, mixinDrawable).objectColor
BBOXDRAW_INHERITED
readonlystaticBBOXDRAW_INHERITED:-1=-1
Defined in: libs/scene/src/scene/scene_node.ts:168
Bounding-box draw mode inherited from nearest graph ancestor.
Inherited from
applyMixins(GraphNode, mixinDrawable).BBOXDRAW_INHERITED
BBOXDRAW_DISABLED
readonlystaticBBOXDRAW_DISABLED:0=0
Defined in: libs/scene/src/scene/scene_node.ts:170
Disable bounding-box visualization.
Inherited from
applyMixins(GraphNode, mixinDrawable).BBOXDRAW_DISABLED
BBOXDRAW_LOCAL
readonlystaticBBOXDRAW_LOCAL:1=1
Defined in: libs/scene/src/scene/scene_node.ts:172
Draw local-space bounding box.
Inherited from
applyMixins(GraphNode, mixinDrawable).BBOXDRAW_LOCAL
BBOXDRAW_WORLD
readonlystaticBBOXDRAW_WORLD:2=2
Defined in: libs/scene/src/scene/scene_node.ts:174
Draw world-space bounding box.
Inherited from
applyMixins(GraphNode, mixinDrawable).BBOXDRAW_WORLD
lastFeedbackTiming
lastFeedbackTiming:
object
Defined in: libs/scene/src/scene/water.ts:103
Frame numbers of the stages of the most recent surface-point query, for latency diagnostics: when it was requested, when its render was recorded, and when the readback resolved. All are device.frameInfo.frameCounter.
issued
issued:
number=0
recorded
recorded:
number=0
mapped
mapped:
number=0
Accessors
disposed
Get Signature
get disposed():
boolean
Defined in: libs/base/dist/index.d.ts:6107
Returns
boolean
Inherited from
applyMixins(GraphNode, mixinDrawable).disposed
placeToOctree
Get Signature
get placeToOctree():
boolean
Defined in: libs/scene/src/scene/scene_node.ts:317
Whether the node should be inserted into the scene's spatial structure.
Remarks
Toggling this hints the scene to (re)place the node in octree/acceleration structures.
Returns
boolean
Set Signature
set placeToOctree(
val):void
Defined in: libs/scene/src/scene/scene_node.ts:320
Parameters
val
boolean
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).placeToOctree
runtimeId
Get Signature
get runtimeId():
number
Defined in: libs/scene/src/scene/scene_node.ts:331
Node's runtime unique identifier
Returns
number
Inherited from
applyMixins(GraphNode, mixinDrawable).runtimeId
persistentId
Get Signature
get persistentId():
string
Defined in: libs/scene/src/scene/scene_node.ts:340
Node's persistent identifier.
Remarks
Changing this affects serialization and registry lookup; ensure uniqueness.
Returns
string
Set Signature
set persistentId(
id):void
Defined in: libs/scene/src/scene/scene_node.ts:343
Parameters
id
string
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).persistentId
prefabId
Get Signature
get prefabId():
string
Defined in: libs/scene/src/scene/scene_node.ts:352
If not empty, this node was loaded from a prefab
Remarks
Internal used for serialization
Returns
string
Set Signature
set prefabId(
id):void
Defined in: libs/scene/src/scene/scene_node.ts:355
Parameters
id
string
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).prefabId
jointTypeT
Get Signature
get jointTypeT():
"none"|"animated"|"static"
Defined in: libs/scene/src/scene/scene_node.ts:371
Translation type if this is a joint node of any skeleton
Remarks
Internal used for serialization
Returns
"none" | "animated" | "static"
Set Signature
set jointTypeT(
val):void
Defined in: libs/scene/src/scene/scene_node.ts:374
Parameters
val
"none" | "animated" | "static"
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).jointTypeT
jointTypeS
Get Signature
get jointTypeS():
"none"|"animated"|"static"
Defined in: libs/scene/src/scene/scene_node.ts:383
Scale type if this is a joint node of any skeleton
Remarks
Internal used for serialization
Returns
"none" | "animated" | "static"
Set Signature
set jointTypeS(
val):void
Defined in: libs/scene/src/scene/scene_node.ts:386
Parameters
val
"none" | "animated" | "static"
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).jointTypeS
jointTypeR
Get Signature
get jointTypeR():
"none"|"animated"|"static"
Defined in: libs/scene/src/scene/scene_node.ts:395
Rotation type if this is a joint node of any skeleton
Remarks
Internal used for serialization
Returns
"none" | "animated" | "static"
Set Signature
set jointTypeR(
val):void
Defined in: libs/scene/src/scene/scene_node.ts:398
Parameters
val
"none" | "animated" | "static"
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).jointTypeR
metaData
Get Signature
get metaData():
Metadata
Defined in: libs/scene/src/scene/scene_node.ts:407
Arbitrary metadata associated with this node.
Remarks
Stored and transported with the node; format is application-defined.
Returns
Metadata
Set Signature
set metaData(
val):void
Defined in: libs/scene/src/scene/scene_node.ts:410
Parameters
val
Metadata
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).metaData
script
Get Signature
get script():
string
Defined in: libs/scene/src/scene/scene_node.ts:419
Attached script filename or identifier (engine-specific).
Remarks
Integrates with the engine’s scripting system if available.
Returns
string
Set Signature
set script(
fileName):void
Defined in: libs/scene/src/scene/scene_node.ts:422
Parameters
fileName
string
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).script
scriptConfig
Get Signature
get scriptConfig():
object|unknown[]
Defined in: libs/scene/src/scene/scene_node.ts:435
Script component configuration payload used by editor/runtime script components.
Returns
object | unknown[]
Set Signature
set scriptConfig(
value):void
Defined in: libs/scene/src/scene/scene_node.ts:438
Parameters
value
object | unknown[]
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).scriptConfig
scripts
Get Signature
get scripts():
ScriptAttachment[]
Defined in: libs/scene/src/scene/scene_node.ts:452
All script attachments on this node.
Returns
Set Signature
set scripts(
value):void
Defined in: libs/scene/src/scene/scene_node.ts:455
Parameters
value
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).scripts
scriptConfigs
Get Signature
get scriptConfigs():
unknown[]
Defined in: libs/scene/src/scene/scene_node.ts:461
Script configs for all script attachments.
Returns
unknown[]
Set Signature
set scriptConfigs(
value):void
Defined in: libs/scene/src/scene/scene_node.ts:464
Parameters
value
unknown[]
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).scriptConfigs
gpuClothComponents
Get Signature
get gpuClothComponents():
GPUClothComponent[]
Defined in: libs/scene/src/scene/scene_node.ts:477
GPU cloth simulations owned by this node.
Returns
Set Signature
set gpuClothComponents(
value):void
Defined in: libs/scene/src/scene/scene_node.ts:480
Parameters
value
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).gpuClothComponents
name
Get Signature
get name():
string
Defined in: libs/scene/src/scene/scene_node.ts:516
Display name of the node (for UI/debugging).
Returns
string
Set Signature
set name(
val):void
Defined in: libs/scene/src/scene/scene_node.ts:519
Parameters
val
string
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).name
scene
Get Signature
get scene():
Scene
Defined in: libs/scene/src/scene/scene_node.ts:523
The owning scene.
Returns
Inherited from
applyMixins(GraphNode, mixinDrawable).scene
attached
Get Signature
get attached():
boolean
Defined in: libs/scene/src/scene/scene_node.ts:529
Whether this node is currently attached under the scene's root.
Returns
boolean
Inherited from
applyMixins(GraphNode, mixinDrawable).attached
sealed
Get Signature
get sealed():
boolean
Defined in: libs/scene/src/scene/scene_node.ts:543
If true, the node is logically sealed; some operations (like cloning as child) may be restricted by engine policies.
Returns
boolean
Set Signature
set sealed(
val):void
Defined in: libs/scene/src/scene/scene_node.ts:546
Parameters
val
boolean
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).sealed
animationSet
Get Signature
get animationSet():
AnimationSet
Defined in: libs/scene/src/scene/scene_node.ts:555
Lazily created animation set for this node.
Remarks
Accessing this schedules the node for update in the scene.
Returns
Inherited from
applyMixins(GraphNode, mixinDrawable).animationSet
sharedModel
Get Signature
get sharedModel():
SharedModel
Defined in: libs/scene/src/scene/scene_node.ts:565
Shared model reference for instancing/streaming systems.
Returns
Set Signature
set sharedModel(
model):void
Defined in: libs/scene/src/scene/scene_node.ts:568
Parameters
model
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).sharedModel
morphTargetGroups
Get Signature
get morphTargetGroups():
SceneMorphTargetGroup[]
Defined in: libs/scene/src/scene/scene_node.ts:572
Runtime morph target groups bound to this model instance.
Returns
Set Signature
set morphTargetGroups(
groups):void
Defined in: libs/scene/src/scene/scene_node.ts:575
Parameters
groups
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).morphTargetGroups
clipTestEnabled
Get Signature
get clipTestEnabled():
boolean
Defined in: libs/scene/src/scene/scene_node.ts:820
Clip mode
Returns
boolean
Set Signature
set clipTestEnabled(
val):void
Defined in: libs/scene/src/scene/scene_node.ts:823
Parameters
val
boolean
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).clipTestEnabled
hidden
Get Signature
get hidden():
boolean
Defined in: libs/scene/src/scene/scene_node.ts:827
Computed value of show state
Returns
boolean
Inherited from
applyMixins(GraphNode, mixinDrawable).hidden
showState
Get Signature
get showState():
SceneNodeVisible
Defined in: libs/scene/src/scene/scene_node.ts:835
Show state
Returns
Set Signature
set showState(
val):void
Defined in: libs/scene/src/scene/scene_node.ts:838
Parameters
val
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).showState
pickable
Get Signature
get pickable():
boolean
Defined in: libs/scene/src/scene/scene_node.ts:856
Whether this node is enabled for CPU picking
Returns
boolean
Set Signature
set pickable(
val):void
Defined in: libs/scene/src/scene/scene_node.ts:859
Parameters
val
boolean
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).pickable
gpuPickable
Get Signature
get gpuPickable():
boolean
Defined in: libs/scene/src/scene/scene_node.ts:863
Whether this node is enabled for GPU picking
Returns
boolean
Set Signature
set gpuPickable(
val):void
Defined in: libs/scene/src/scene/scene_node.ts:866
Parameters
val
boolean
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).gpuPickable
computedBoundingBoxDrawMode
Get Signature
get computedBoundingBoxDrawMode():
number
Defined in: libs/scene/src/scene/scene_node.ts:948
Computed value for bounding box draw mode
Returns
number
Inherited from
applyMixins(GraphNode, mixinDrawable).computedBoundingBoxDrawMode
boundingBoxDrawMode
Get Signature
get boundingBoxDrawMode():
number
Defined in: libs/scene/src/scene/scene_node.ts:959
Bounding box draw mode
Returns
number
Set Signature
set boundingBoxDrawMode(
mode):void
Defined in: libs/scene/src/scene/scene_node.ts:962
Parameters
mode
number
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).boundingBoxDrawMode
parent
Get Signature
get parent():
SceneNode
Defined in: libs/scene/src/scene/scene_node.ts:1262
Parent of the xform
Returns
Set Signature
set parent(
p):void
Defined in: libs/scene/src/scene/scene_node.ts:1265
Parameters
p
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).parent
children
Get Signature
get children():
SceneNode[]
Defined in: libs/scene/src/scene/scene_node.ts:1271
Children of this xform
Returns
Inherited from
applyMixins(GraphNode, mixinDrawable).children
position
Get Signature
get position():
Vector3
Defined in: libs/scene/src/scene/scene_node.ts:1277
Position of the xform relative to it's parent
Returns
Vector3
Set Signature
set position(
val):void
Defined in: libs/scene/src/scene/scene_node.ts:1280
Parameters
val
Vector3
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).position
scale
Get Signature
get scale():
Vector3
Defined in: libs/scene/src/scene/scene_node.ts:1286
Scaling of the xform
Returns
Vector3
Set Signature
set scale(
val):void
Defined in: libs/scene/src/scene/scene_node.ts:1289
Parameters
val
Vector3
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).scale
rotation
Get Signature
get rotation():
Quaternion
Defined in: libs/scene/src/scene/scene_node.ts:1295
Rotation of the xform
Returns
Quaternion
Set Signature
set rotation(
val):void
Defined in: libs/scene/src/scene/scene_node.ts:1298
Parameters
val
Quaternion
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).rotation
localMatrix
Get Signature
get localMatrix():
Immutable<Matrix4x4>
Defined in: libs/scene/src/scene/scene_node.ts:1404
Local transformation matrix of the xform
Returns
Immutable<Matrix4x4>
Set Signature
set localMatrix(
matrix):void
Defined in: libs/scene/src/scene/scene_node.ts:1411
Parameters
matrix
Immutable<Matrix4x4>
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).localMatrix
worldMatrix
Get Signature
get worldMatrix():
Immutable<Matrix4x4>
Defined in: libs/scene/src/scene/scene_node.ts:1415
World transformation matrix of the xform
Returns
Immutable<Matrix4x4>
Inherited from
applyMixins(GraphNode, mixinDrawable).worldMatrix
worldMatrixDet
Get Signature
get worldMatrixDet():
number
Defined in: libs/scene/src/scene/scene_node.ts:1420
The determinant of world matrix
Returns
number
Inherited from
applyMixins(GraphNode, mixinDrawable).worldMatrixDet
invWorldMatrix
Get Signature
get invWorldMatrix():
Immutable<Matrix4x4>
Defined in: libs/scene/src/scene/scene_node.ts:1425
Inverse of the world transformation matrix of the xform
Returns
Immutable<Matrix4x4>
Inherited from
applyMixins(GraphNode, mixinDrawable).invWorldMatrix
wireframe
Get Signature
get wireframe():
boolean
Defined in: libs/scene/src/scene/water.ts:159
Whether water should be drawn with lines
Returns
boolean
Set Signature
set wireframe(
val):void
Defined in: libs/scene/src/scene/water.ts:162
Parameters
val
boolean
Returns
void
material
Get Signature
get material():
WaterMaterial
Defined in: libs/scene/src/scene/water.ts:166
Material of the water
Returns
WaterMaterial
waveGenerator
Get Signature
get waveGenerator():
WaveGenerator
Defined in: libs/scene/src/scene/water.ts:176
Wave generator object of the water: the source of the ambient surface.
While an interaction is attached the surface actually drawn is this generator plus the interaction field; this still returns the generator on its own.
Returns
Set Signature
set waveGenerator(
waveGenerator):void
Defined in: libs/scene/src/scene/water.ts:179
Parameters
waveGenerator
Returns
void
interaction
Get Signature
get interaction():
WaterInteraction
Defined in: libs/scene/src/scene/water.ts:193
Dynamic height field layered over the surface, driven by things touching the water, or null for none. See WaterInteraction.
The field is stepped on this water's own clock, so animationSpeed scales it too; it is added everywhere the surface is evaluated, so getSurfacePoint and the caustics see it as well.
Returns
Set Signature
set interaction(
val):void
Defined in: libs/scene/src/scene/water.ts:196
Parameters
val
Returns
void
infinite
Get Signature
get infinite():
boolean
Defined in: libs/scene/src/scene/water.ts:214
Whether the surface reads as an unbounded ocean reaching the horizon, rather than a body of water ending at the node's extent.
Off by default. A pond, a lake or a pool has an edge, and the region test that draws it is skipped entirely while this is on.
The horizon is reached without touching the camera's far plane: the clipmap's outermost ring is drawn as a skirt whose outer vertices are pushed well past it with their depth pinned to the far value. A far plane sized for the near scene therefore keeps its depth precision.
Returns
boolean
Set Signature
set infinite(
val):void
Defined in: libs/scene/src/scene/water.ts:217
Parameters
val
boolean
Returns
void
viewDistance
Get Signature
get viewDistance():
number
Defined in: libs/scene/src/scene/water.ts:235
How far the surface is built out from the camera while infinite is on, in meters. 0 derives it from the true horizon distance for the camera's height above the water.
Raising it costs clipmap levels, which are logarithmic in the distance, so the geometry cost of a much larger value is small. What it really trades is against the sky's SkyRenderer.aerialPerspectiveDistance: build the water out further than the aerial perspective LUT reaches and the far water stops converging towards the sky colour, which puts back the hard band this setting exists to remove.
Returns
number
Set Signature
set viewDistance(
val):void
Defined in: libs/scene/src/scene/water.ts:238
Parameters
val
number
Returns
void
animationSpeed
Get Signature
get animationSpeed():
number
Defined in: libs/scene/src/scene/water.ts:246
Animation speed of the water. Zero freezes the surface where it is rather than resetting it: the wave phase is accumulated, and this scales the increment.
Returns
number
Set Signature
set animationSpeed(
val):void
Defined in: libs/scene/src/scene/water.ts:249
Parameters
val
number
Returns
void
waveTime
Get Signature
get waveTime():
number
Defined in: libs/scene/src/scene/water.ts:263
The wave clock the surface is currently at, in seconds.
This is the time the displaced surface was last evaluated with - the same value WaterMaterial.update is handed - and not the scene's elapsed time. Anything that samples the surface from the CPU has to use this clock to know which frame of the wave it is looking at, and to tell a stale sample from a current one; a caller comparing against elapsedInSeconds from SceneNode.update will agree only while animationSpeed is 1 and nothing has paused the water.
Returns
number
TAAStrength
Get Signature
get TAAStrength():
number
Defined in: libs/scene/src/scene/water.ts:267
TAA strength of the water
Returns
number
Set Signature
set TAAStrength(
val):void
Defined in: libs/scene/src/scene/water.ts:270
Parameters
val
number
Returns
void
causticsEnabled
Get Signature
get causticsEnabled():
boolean
Defined in: libs/scene/src/scene/water.ts:280
Whether this water projects caustics onto the geometry below it.
Needs a shadow-casting directional light and a WebGL2/WebGPU device; the caustics pass switches itself off when either is missing, and when the sun drops close to the horizon.
Returns
boolean
Set Signature
set causticsEnabled(
val):void
Defined in: libs/scene/src/scene/water.ts:283
Parameters
val
boolean
Returns
void
causticsIntensity
Get Signature
get causticsIntensity():
number
Defined in: libs/scene/src/scene/water.ts:287
Strength of the caustic contrast. 0 leaves the light unmodulated.
Returns
number
Set Signature
set causticsIntensity(
val):void
Defined in: libs/scene/src/scene/water.ts:290
Parameters
val
number
Returns
void
causticsDepth
Get Signature
get causticsDepth():
number
Defined in: libs/scene/src/scene/water.ts:294
Depth in meters below the surface where the caustics are in focus.
Returns
number
Set Signature
set causticsDepth(
val):void
Defined in: libs/scene/src/scene/water.ts:297
Parameters
val
number
Returns
void
causticsSceneDepth
Get Signature
get causticsSceneDepth():
boolean
Defined in: libs/scene/src/scene/water.ts:304
Whether caustics land on the scene rather than on a plane at causticsDepth. WebGL2 keeps the plane regardless.
Returns
boolean
Set Signature
set causticsSceneDepth(
val):void
Defined in: libs/scene/src/scene/water.ts:307
Parameters
val
boolean
Returns
void
causticsRange
Get Signature
get causticsRange():
number
Defined in: libs/scene/src/scene/water.ts:316
Furthest distance in meters from the camera the caustic map reaches.
A cap rather than a fixed extent: the map is fitted to the part of the water within this distance.
Returns
number
Set Signature
set causticsRange(
val):void
Defined in: libs/scene/src/scene/water.ts:319
Parameters
val
number
Returns
void
causticsFadeDistance
Get Signature
get causticsFadeDistance():
number
Defined in: libs/scene/src/scene/water.ts:326
Width in meters of the band the caustics fade out over at the edge of the map, or 0 to derive it from causticsRange.
Returns
number
Set Signature
set causticsFadeDistance(
val):void
Defined in: libs/scene/src/scene/water.ts:329
Parameters
val
number
Returns
void
causticsWarp
Get Signature
get causticsWarp():
number
Defined in: libs/scene/src/scene/water.ts:337
How strongly caustic map texels are concentrated near the camera, 0 to spread them evenly. Ignored while the map already fits the water within causticsRange.
Returns
number
Set Signature
set causticsWarp(
val):void
Defined in: libs/scene/src/scene/water.ts:340
Parameters
val
number
Returns
void
underwaterEnabled
Get Signature
get underwaterEnabled():
boolean
Defined in: libs/scene/src/scene/water.ts:356
Whether a camera inside this body of water sees the water from the inside: the medium applied to the whole scene, the sky replaced by water, and the surface read from below with its Snell window.
Uses the same medium coefficients the surface does (absorption, scattering and their scales), so the volume and the surface never disagree. Atmospheric fog is suppressed while submerged - the medium the eye is looking through is water, not air.
Only reaches opaque geometry, like the atmospheric fog it replaces; transparent surfaces are not tinted by the column in front of them.
Returns
boolean
Set Signature
set underwaterEnabled(
val):void
Defined in: libs/scene/src/scene/water.ts:359
Parameters
val
boolean
Returns
void
underwaterAmbientIntensity
Get Signature
get underwaterAmbientIntensity():
number
Defined in: libs/scene/src/scene/water.ts:367
Scale on the downwelling sky light that fills the water column, 1 for the value the sky implies. This is what the water fades to in the distance, so it also sets how bright the underwater haze reads.
Returns
number
Set Signature
set underwaterAmbientIntensity(
val):void
Defined in: libs/scene/src/scene/water.ts:370
Parameters
val
number
Returns
void
underwaterGodRays
Get Signature
get underwaterGodRays():
boolean
Defined in: libs/scene/src/scene/water.ts:381
Whether shafts of sunlight are marched through the water column.
Reads the caustic map as the surface's transmittance, so the shafts carry the same pattern that lands on the sea bed. Needs causticsEnabled and everything it needs; switches itself off wherever the map is unavailable.
Returns
boolean
Set Signature
set underwaterGodRays(
val):void
Defined in: libs/scene/src/scene/water.ts:384
Parameters
val
boolean
Returns
void
underwaterGodRayIntensity
Get Signature
get underwaterGodRayIntensity():
number
Defined in: libs/scene/src/scene/water.ts:388
Strength of the light shafts, 1 for the value the medium implies.
Returns
number
Set Signature
set underwaterGodRayIntensity(
val):void
Defined in: libs/scene/src/scene/water.ts:391
Parameters
val
number
Returns
void
underwaterGodRaySteps
Get Signature
get underwaterGodRaySteps():
number
Defined in: libs/scene/src/scene/water.ts:399
Samples taken along each view ray for the light shafts. Raise it when the shafts read as grain rather than as beams, which is what too few samples of a sharp caustic pattern look like.
Returns
number
Set Signature
set underwaterGodRaySteps(
val):void
Defined in: libs/scene/src/scene/water.ts:402
Parameters
val
number
Returns
void
underwaterGodRayShadow
Get Signature
get underwaterGodRayShadow():
boolean
Defined in: libs/scene/src/scene/water.ts:415
Whether geometry standing in the water breaks the light shafts. Off by default.
The shafts come from the caustic map, which describes what the surface did to the sunlight and knows nothing about what is under it, so without this a shaft runs straight through a piling or a hull. Costs a shadow map lookup per march step, roughly doubling what the shafts cost. The sea bed's own shadows are unaffected either way.
Returns
boolean
Set Signature
set underwaterGodRayShadow(
val):void
Defined in: libs/scene/src/scene/water.ts:418
Parameters
val
boolean
Returns
void
underwaterHysteresis
Get Signature
get underwaterHysteresis():
number
Defined in: libs/scene/src/scene/water.ts:426
Half-width in meters of the dead band around the surface the submerged test uses, so a camera sitting at water level does not flip state every frame. The test is against the rest plane, not the displaced surface.
Returns
number
Set Signature
set underwaterHysteresis(
val):void
Defined in: libs/scene/src/scene/water.ts:429
Parameters
val
number
Returns
void
subsurfaceIntensity
Get Signature
get subsurfaceIntensity():
number
Defined in: libs/scene/src/scene/water.ts:436
Strength of the glow of a backlit wave crest, 0 to disable. Authored, not scaled by the light's intensity; subsurfaceTint supplies the hue.
Returns
number
Set Signature
set subsurfaceIntensity(
val):void
Defined in: libs/scene/src/scene/water.ts:439
Parameters
val
number
Returns
void
subsurfaceCrestHeight
Get Signature
get subsurfaceCrestHeight():
number
Defined in: libs/scene/src/scene/water.ts:447
Height above the still-water level, in meters, over which the lit wall of a crest thins by a factor of e. Lower for a calm sea, higher so only the tallest crests glow.
Returns
number
Set Signature
set subsurfaceCrestHeight(
val):void
Defined in: libs/scene/src/scene/water.ts:450
Parameters
val
number
Returns
void
subsurfaceTint
Get Signature
get subsurfaceTint():
Vector3
Defined in: libs/scene/src/scene/water.ts:457
Colour of the crest glow, before the crest gate tints it with the medium's extinction.
Returns
Vector3
Set Signature
set subsurfaceTint(
val):void
Defined in: libs/scene/src/scene/water.ts:460
Parameters
val
Vector3
Returns
void
sunScatteringIntensity
Get Signature
get sunScatteringIntensity():
number
Defined in: libs/scene/src/scene/water.ts:470
Strength of the sunlight scattered out of the water column towards the eye, 1 for the value the medium coefficients imply.
This is what makes a shadow falling on the water darken the water itself, and a low sun tint it. 0 leaves the body lit by the environment alone.
Returns
number
Set Signature
set sunScatteringIntensity(
val):void
Defined in: libs/scene/src/scene/water.ts:473
Parameters
val
number
Returns
void
shoreFoamAmount
Get Signature
get shoreFoamAmount():
number
Defined in: libs/scene/src/scene/water.ts:492
Coverage of the foam that collects where the water meets a surface, 0 to disable. Off by default.
Independent of the crest foam the wave generator produces: this one is keyed on how far the surface is from whatever is behind it, measured to that surface's own plane - the depth of water over a bed, the horizontal distance to a piling or a hull - so one band covers both the shoreline and the contact line around anything standing in the water. shoreFoamWashAmount is what makes it run up and drain back rather than sit there as a rim.
Estimated from the depth buffer, so it only knows about what the camera can see: water in front of something standing above the surface gets no foam rather than a guess. See WaterMaterial.shoreFoamAmount.
Returns
number
Set Signature
set shoreFoamAmount(
val):void
Defined in: libs/scene/src/scene/water.ts:495
Parameters
val
number
Returns
void
shoreFoamDepth
Get Signature
get shoreFoamDepth():
number
Defined in: libs/scene/src/scene/water.ts:504
How far, in meters, the foam band reaches from the surface behind it. A depth of water over a bed, a horizontal distance against anything vertical. How wide that is on screen depends on the geometry: a thin line on a steep drop-off, a broad stretch on a flat shelf.
Returns
number
Set Signature
set shoreFoamDepth(
val):void
Defined in: libs/scene/src/scene/water.ts:507
Parameters
val
number
Returns
void
shoreFoamFalloff
Get Signature
get shoreFoamFalloff():
number
Defined in: libs/scene/src/scene/water.ts:514
Falloff across the band. Above 1 pushes the coverage towards the near end and keeps the outer edge thin and broken.
Returns
number
Set Signature
set shoreFoamFalloff(
val):void
Defined in: libs/scene/src/scene/water.ts:517
Parameters
val
number
Returns
void
shoreFoamScale
Get Signature
get shoreFoamScale():
number
Defined in: libs/scene/src/scene/water.ts:527
Size of the clumps the band's edge breaks into, as cycles across the band.
Relative to shoreFoamDepth rather than in cycles per metre, so one setting reads the same on a shoreline metres across and on a collar a handspan wide around a piling.
Returns
number
Set Signature
set shoreFoamScale(
val):void
Defined in: libs/scene/src/scene/water.ts:530
Parameters
val
number
Returns
void
shoreFoamWashAmount
Get Signature
get shoreFoamWashAmount():
number
Defined in: libs/scene/src/scene/water.ts:537
How far the band's edge runs back and forth, as a fraction of shoreFoamDepth. 0 leaves a static band.
Returns
number
Set Signature
set shoreFoamWashAmount(
val):void
Defined in: libs/scene/src/scene/water.ts:540
Parameters
val
number
Returns
void
shoreFoamWashSpeed
Get Signature
get shoreFoamWashSpeed():
number
Defined in: libs/scene/src/scene/water.ts:544
Run-up cycles per second. Swell rather than wind waves, so well under 1.
Returns
number
Set Signature
set shoreFoamWashSpeed(
val):void
Defined in: libs/scene/src/scene/water.ts:547
Parameters
val
number
Returns
void
shoreFoamWashScale
Get Signature
get shoreFoamWashScale():
number
Defined in: libs/scene/src/scene/water.ts:555
Spatial frequency of the run-up phase, in cycles per meter. At 0 the whole waterline advances in lockstep, which reads as the water level rising and falling; a cycle every few tens of meters breaks it into sections.
Returns
number
Set Signature
set shoreFoamWashScale(
val):void
Defined in: libs/scene/src/scene/water.ts:558
Parameters
val
number
Returns
void
refractionMode
Get Signature
get refractionMode():
WaterRefractionMode
Defined in: libs/scene/src/scene/water.ts:570
How the refracted view sample is located. Defaults to march.
offset drops the depth-buffer search - a fixed number of texture fetches per water pixel - and displaces the screen UV by the wave normal instead. The water still refracts, but to the wrong point: a submerged silhouette smears rather than holding still. Set it on hardware that cannot afford the search.
Returns
Set Signature
set refractionMode(
val):void
Defined in: libs/scene/src/scene/water.ts:573
Parameters
val
Returns
void
debugOutput
Get Signature
get debugOutput():
WaterDebugOutput
Defined in: libs/scene/src/scene/water.ts:581
Which intermediate shading term to display instead of the final colour. A debugging aid; leave it at none in production. See WaterDebugOutput for the available views.
Returns
Set Signature
set debugOutput(
val):void
Defined in: libs/scene/src/scene/water.ts:584
Parameters
val
Returns
void
cheapRefractionDepth
Get Signature
get cheapRefractionDepth():
number
Defined in: libs/scene/src/scene/water.ts:595
Depth in meters the cheap refraction mode assumes the water is, used only when refractionMode is offset.
Sets how strong the cheap distortion looks. A constant rather than the real distance to the bottom, because an offset scaled by that distance paints a second copy of anything breaking the surface.
Returns
number
Set Signature
set cheapRefractionDepth(
val):void
Defined in: libs/scene/src/scene/water.ts:598
Parameters
val
number
Returns
void
refractionBlur
Get Signature
get refractionBlur():
number
Defined in: libs/scene/src/scene/water.ts:606
Scale on how much the medium blurs what is seen through it, 1 for the width the scattering coefficient and the path length imply. 0 keeps the background sharp at any depth.
Returns
number
Set Signature
set refractionBlur(
val):void
Defined in: libs/scene/src/scene/water.ts:609
Parameters
val
number
Returns
void
absorption
Get Signature
get absorption():
Vector3
Defined in: libs/scene/src/scene/water.ts:613
Absorption coefficient sigma_a in 1/m, per RGB channel.
Returns
Vector3
Set Signature
set absorption(
val):void
Defined in: libs/scene/src/scene/water.ts:616
Parameters
val
Vector3
Returns
void
absorptionScale
Get Signature
get absorptionScale():
number
Defined in: libs/scene/src/scene/water.ts:620
Scale for the absorption coefficient.
Returns
number
Set Signature
set absorptionScale(
val):void
Defined in: libs/scene/src/scene/water.ts:623
Parameters
val
number
Returns
void
scattering
Get Signature
get scattering():
Vector3
Defined in: libs/scene/src/scene/water.ts:627
Scattering coefficient sigma_s in 1/m, per RGB channel.
Returns
Vector3
Set Signature
set scattering(
val):void
Defined in: libs/scene/src/scene/water.ts:630
Parameters
val
Vector3
Returns
void
scatteringScale
Get Signature
get scatteringScale():
number
Defined in: libs/scene/src/scene/water.ts:634
Scale for the scattering coefficient.
Returns
number
Set Signature
set scatteringScale(
val):void
Defined in: libs/scene/src/scene/water.ts:637
Parameters
val
number
Returns
void
scatterAnisotropy
Get Signature
get scatterAnisotropy():
number
Defined in: libs/scene/src/scene/water.ts:646
Mean cosine of a single scattering event in the water, in [0, 0.95].
0 scatters equally in all directions; higher brightens the water when looking towards the sun through it.
Returns
number
Set Signature
set scatterAnisotropy(
val):void
Defined in: libs/scene/src/scene/water.ts:649
Parameters
val
number
Returns
void
refractionScale
Get Signature
get refractionScale():
number
Defined in: libs/scene/src/scene/water.ts:665
Artistic scale on the refracted view offset. 1 is physical, 0 disables it.
The offset itself is derived: the view ray is refracted at the surface by Snell's law, walked to whatever is behind the water, and the hit point is projected back to the screen. That already accounts for the incidence angle, the depth of the receiver and the perspective foreshortening, so this exists only to dial the result back for a stylised look - not to make it correct.
Values above 1 exaggerate; the surface stays continuous, but the sample can wander far enough from the true hit point that the medium tint stops matching what is visible through it.
Returns
number
Set Signature
set refractionScale(
val):void
Defined in: libs/scene/src/scene/water.ts:668
Parameters
val
number
Returns
void
reflectionStrength
Get Signature
get reflectionStrength():
number
Defined in: libs/scene/src/scene/water.ts:680
Scale on the Fresnel reflectance, 1 for the physical value.
Below 1 the surface reflects less than it should and shows more of what is beneath it. Water reflects almost everything at a grazing angle, which is physically right but can bury a sea bed the shot is about; this is the knob that trades that reflection away. The F0 floor is scaled with it, so 0 gives a surface with no specular response at all.
Returns
number
Set Signature
set reflectionStrength(
val):void
Defined in: libs/scene/src/scene/water.ts:683
Parameters
val
number
Returns
void
foamAmount
Get Signature
get foamAmount():
number
Defined in: libs/scene/src/scene/water.ts:693
How much of a folded texel reads as foam.
The wave generator reports where the surface has folded over on itself, which is a measure of the fold rather than of area; this scales it into a coverage fraction. 0 disables foam.
Returns
number
Set Signature
set foamAmount(
val):void
Defined in: libs/scene/src/scene/water.ts:696
Parameters
val
number
Returns
void
foamFalloff
Get Signature
get foamFalloff():
number
Defined in: libs/scene/src/scene/water.ts:706
Falloff applied to foam coverage before it is scaled.
Above 1 this pushes light folding towards no foam at all, so only a crest that has genuinely broken shows any - which is what keeps a windy sea from turning uniformly white.
Returns
number
Set Signature
set foamFalloff(
val):void
Defined in: libs/scene/src/scene/water.ts:709
Parameters
val
number
Returns
void
foamColor
Get Signature
get foamColor():
Vector3
Defined in: libs/scene/src/scene/water.ts:713
Diffuse albedo of the foam.
Returns
Vector3
Set Signature
set foamColor(
val):void
Defined in: libs/scene/src/scene/water.ts:716
Parameters
val
Vector3
Returns
void
gridScale
Get Signature
get gridScale():
number
Defined in: libs/scene/src/scene/water.ts:986
Grid scale
Returns
number
Set Signature
set gridScale(
val):void
Defined in: libs/scene/src/scene/water.ts:989
Parameters
val
number
Returns
void
Methods
isPrototypeOf()
staticisPrototypeOf(v):boolean
Defined in: libs/base/dist/index.d.ts:80
Parameters
v
object
Returns
boolean
Inherited from
applyMixins(GraphNode, mixinDrawable).isPrototypeOf
on()
Call Signature
on<
K>(type,listener,context?):void
Defined in: libs/base/dist/index.d.ts:671
IEventTarget.on
Type Parameters
K
K extends "dispose" | "nodeattached" | "noderemoved" | "visiblechanged" | "transformchanged" | "bvchanged"
Parameters
type
K
listener
EventListener<object & object, K>
context?
unknown
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).on
Call Signature
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(GraphNode, mixinDrawable).on
once()
Call Signature
once<
K>(type,listener,context?):void
Defined in: libs/base/dist/index.d.ts:675
IEventTarget.once
Type Parameters
K
K extends "dispose" | "nodeattached" | "noderemoved" | "visiblechanged" | "transformchanged" | "bvchanged"
Parameters
type
K
listener
EventListener<object & object, K>
context?
unknown
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).once
Call Signature
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(GraphNode, mixinDrawable).once
off()
Call Signature
off<
K>(type,listener,context?):void
Defined in: libs/base/dist/index.d.ts:679
IEventTarget.off
Type Parameters
K
K extends "dispose" | "nodeattached" | "noderemoved" | "visiblechanged" | "transformchanged" | "bvchanged"
Parameters
type
K
listener
EventListener<object & object, K>
context?
unknown
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).off
Call Signature
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(GraphNode, mixinDrawable).off
dispatchEvent()
Call Signature
dispatchEvent<
K>(type, ...args):void
Defined in: libs/base/dist/index.d.ts:683
IEventTarget.dispatchEvent
Type Parameters
K
K extends "dispose" | "nodeattached" | "noderemoved" | "visiblechanged" | "transformchanged" | "bvchanged"
Parameters
type
K
args
...object & object[K]
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).dispatchEvent
Call Signature
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(GraphNode, mixinDrawable).dispatchEvent
dispose()
dispose():
void
Defined in: libs/base/dist/index.d.ts:6108
Releases all GPU resources and detaches from the renderer.
Returns
void
Implementation of
Inherited from
applyMixins(GraphNode, mixinDrawable).dispose
getDrawableId()
getDrawableId():
number
Defined in: libs/scene/src/render/drawable_mixin.ts:14
Unique, stable identifier for the drawable, used in caches and picking.
Returns
number
Implementation of
Inherited from
applyMixins(GraphNode, mixinDrawable).getDrawableId
pushRenderQueueRef()
pushRenderQueueRef(
ref):void
Defined in: libs/scene/src/render/drawable_mixin.ts:15
Pushes a reference to the current render queue for cleanup or back-references.
Useful for batching or delayed state application.
Parameters
ref
Returns
void
Implementation of
Inherited from
applyMixins(GraphNode, mixinDrawable).pushRenderQueueRef
applyInstanceOffsetAndStride()
applyInstanceOffsetAndStride(
renderQueue,stride,offset):void
Defined in: libs/scene/src/render/drawable_mixin.ts:16
Parameters
renderQueue
stride
number
offset
number
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).applyInstanceOffsetAndStride
applyTransformUniforms()
applyTransformUniforms(
renderQueue):void
Defined in: libs/scene/src/render/drawable_mixin.ts:17
Applies transform-related uniforms to the active bind group or pipeline.
Parameters
renderQueue
The current render queue issuing this draw.
Returns
void
Implementation of
Drawable.applyTransformUniforms
Inherited from
applyMixins(GraphNode, mixinDrawable).applyTransformUniforms
applyMaterialUniforms()
applyMaterialUniforms(
instanceInfo):void
Defined in: libs/scene/src/render/drawable_mixin.ts:18
Parameters
instanceInfo
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).applyMaterialUniforms
applyMaterialUniformsAll()
applyMaterialUniformsAll():
void
Defined in: libs/scene/src/render/drawable_mixin.ts:19
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).applyMaterialUniformsAll
getObjectColor()
getObjectColor():
Vector4
Defined in: libs/scene/src/render/drawable_mixin.ts:20
Returns the unique color used for GPU picking (object ID in color).
Returns
Vector4
Implementation of
Inherited from
applyMixins(GraphNode, mixinDrawable).getObjectColor
updateState()
updateState():
void
Defined in: libs/scene/src/render/drawable_mixin.ts:21
Updates internal state or GPU resources for this drawable, if needed.
Returns
void
Implementation of
Inherited from
applyMixins(GraphNode, mixinDrawable).updateState
bind()
bind(
ctx,renderQueue):void
Defined in: libs/scene/src/render/drawable_mixin.ts:22
Parameters
ctx
renderQueue
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).bind
getName()
getName():
string
Defined in: libs/scene/src/scene/graph_node.ts:36
Gets the name
Returns
string
Implementation of
Inherited from
applyMixins(GraphNode, mixinDrawable).getName
isGraphNode()
isGraphNode():
this is GraphNode
Defined in: libs/scene/src/scene/graph_node.ts:43
Type guard: true if this node is a graph node.
Returns
this is GraphNode
Inherited from
applyMixins(GraphNode, mixinDrawable).isGraphNode
getNode()
Call Signature
getNode():
Water
Defined in: libs/scene/src/scene/graph_node.ts:49
Returns the owning scene node (transform and hierarchy).
Returns
Water
Implementation of
Inherited from
applyMixins(GraphNode, mixinDrawable).getNode
Call Signature
getNode():
SceneNode
Defined in: libs/scene/src/render/drawable_mixin.ts:88
Returns
Implementation of
Drawable.getNode
Inherited from
applyMixins(GraphNode, mixinDrawable).getNode
getBoneMatrices()
getBoneMatrices():
Texture2D<unknown>
Defined in: libs/scene/src/scene/graph_node.ts:55
Returns the texture containing bone matrices for skinned meshes.
Returns
Texture2D<unknown>
Implementation of
Inherited from
applyMixins(GraphNode, mixinDrawable).getBoneMatrices
getSortDistance()
getSortDistance(
camera):number
Defined in: libs/scene/src/scene/graph_node.ts:61
Computes the distance used for sorting (e.g., transparent draw order).
Parameters
camera
Camera from which to compute distance (usually camera -> object).
Returns
number
Implementation of
Inherited from
applyMixins(GraphNode, mixinDrawable).getSortDistance
isBatchable()
isBatchable():
this is BatchDrawable
Defined in: libs/scene/src/scene/graph_node.ts:72
Returns true if the object supports instanced rendering.
When true, the object should also implement the BatchDrawable methods.
Returns
this is BatchDrawable
Implementation of
Inherited from
applyMixins(GraphNode, mixinDrawable).isBatchable
getPrefabNode()
getPrefabNode():
SceneNode
Defined in: libs/scene/src/scene/scene_node.ts:362
Get prefab node this node belongs to, or null if this node does not belongs to any prefab
Returns
prefab node this node belongs to
Inherited from
applyMixins(GraphNode, mixinDrawable).getPrefabNode
addGPUClothComponent()
addGPUClothComponent(
component):GPUClothComponent
Defined in: libs/scene/src/scene/scene_node.ts:501
Adds a GPU cloth component to this node.
Parameters
component
Returns
Inherited from
applyMixins(GraphNode, mixinDrawable).addGPUClothComponent
removeGPUClothComponent()
removeGPUClothComponent(
component):boolean
Defined in: libs/scene/src/scene/scene_node.ts:506
Removes and disposes a GPU cloth component from this node.
Parameters
component
Returns
boolean
Inherited from
applyMixins(GraphNode, mixinDrawable).removeGPUClothComponent
clone()
clone():
Promise<Water>
Defined in: libs/scene/src/scene/scene_node.ts:589
Clone this node.
Returns
Promise<Water>
New node instance
Remarks
If a shared model exists, it may create an instanced node. The clone is attached under the same parent; children are cloned based on method and recursive.
Inherited from
applyMixins(GraphNode, mixinDrawable).clone
hasChild()
hasChild(
child):boolean
Defined in: libs/scene/src/scene/scene_node.ts:619
Whether the given node is a direct child of this node.
Parameters
child
The node to be checked
Returns
boolean
true if the given node is a direct child of this node, false otherwise
Inherited from
applyMixins(GraphNode, mixinDrawable).hasChild
removeChildren()
removeChildren():
void
Defined in: libs/scene/src/scene/scene_node.ts:625
Remove all children from this node.
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).removeChildren
isParentOf()
isParentOf(
child):boolean
Defined in: libs/scene/src/scene/scene_node.ts:633
Whether this node is an ancestor (direct or indirect) of the given node.
Parameters
child
Returns
boolean
Inherited from
applyMixins(GraphNode, mixinDrawable).isParentOf
remove()
remove():
Water
Defined in: libs/scene/src/scene/scene_node.ts:644
Detach this node from its parent.
Returns
Water
this
Inherited from
applyMixins(GraphNode, mixinDrawable).remove
traverse()
traverse(
v):void
Defined in: libs/scene/src/scene/scene_node.ts:653
Depth-first traversal of this node's subtree (pre-order).
Parameters
v
Visitor invoked on each node.
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).traverse
iterate()
iterate(
callback):boolean
Defined in: libs/scene/src/scene/scene_node.ts:667
Iterate self and descendants in pre-order.
Warning: Do not remove children during this iteration. To allow removal, use iterateBottomToTop.
Parameters
callback
Called for each node; if returns true, iteration stops.
Returns
boolean
If returns true, the iteration will immediately stop.
Inherited from
applyMixins(GraphNode, mixinDrawable).iterate
iterateBottomToTop()
iterateBottomToTop(
callback):boolean
Defined in: libs/scene/src/scene/scene_node.ts:686
Iterate self and descendants in reverse post-order (bottom-to-top).
Child nodes can be safely removed during this iteration.
Parameters
callback
Called for each node; if returns true, iteration stops.
Returns
boolean
If returns true, the iteration will immediately stop.
Inherited from
applyMixins(GraphNode, mixinDrawable).iterateBottomToTop
isLight()
isLight():
this is BaseLight
Defined in: libs/scene/src/scene/scene_node.ts:703
Type guard: true if this node is a light.
Returns
this is BaseLight
Inherited from
applyMixins(GraphNode, mixinDrawable).isLight
isMesh()
isMesh():
this is Mesh
Defined in: libs/scene/src/scene/scene_node.ts:707
Type guard: true if this node is a mesh.
Returns
this is Mesh
Inherited from
applyMixins(GraphNode, mixinDrawable).isMesh
isSprite()
isSprite():
this is Sprite
Defined in: libs/scene/src/scene/scene_node.ts:711
Type guard: true if this node is a sprite
Returns
this is Sprite
Inherited from
applyMixins(GraphNode, mixinDrawable).isSprite
isMSDFTextSprite()
isMSDFTextSprite():
this is MSDFTextSprite
Defined in: libs/scene/src/scene/scene_node.ts:715
Type guard: true if this node is a MSDF text sprite
Returns
this is MSDFTextSprite
Inherited from
applyMixins(GraphNode, mixinDrawable).isMSDFTextSprite
isMSDFText()
isMSDFText():
this is MSDFText
Defined in: libs/scene/src/scene/scene_node.ts:719
Type guard: true if this node is a MSDF text sprite
Returns
this is MSDFText
Inherited from
applyMixins(GraphNode, mixinDrawable).isMSDFText
isHair()
isHair():
this is HairNode
Defined in: libs/scene/src/scene/scene_node.ts:727
Type guard: true if this node is a hair node.
Returns
this is HairNode
Inherited from
applyMixins(GraphNode, mixinDrawable).isHair
isParticleSystem()
isParticleSystem():
this is ParticleSystem
Defined in: libs/scene/src/scene/scene_node.ts:731
Type guard: true if this node is a particle system.
Returns
this is ParticleSystem
Inherited from
applyMixins(GraphNode, mixinDrawable).isParticleSystem
isBatchGroup()
isBatchGroup():
this is BatchGroup
Defined in: libs/scene/src/scene/scene_node.ts:735
Type guard: true if this node is a batch group.
Returns
this is BatchGroup
Inherited from
applyMixins(GraphNode, mixinDrawable).isBatchGroup
isClipmapTerrain()
isClipmapTerrain():
this is ClipmapTerrain
Defined in: libs/scene/src/scene/scene_node.ts:739
Type guard: true if this node is a clipmap terrain.
Returns
this is ClipmapTerrain
Inherited from
applyMixins(GraphNode, mixinDrawable).isClipmapTerrain
isCamera()
isCamera():
this is Camera
Defined in: libs/scene/src/scene/scene_node.ts:743
true if this is a camera node, false otherwise
Returns
this is Camera
Inherited from
applyMixins(GraphNode, mixinDrawable).isCamera
isPunctualLight()
isPunctualLight():
this is PunctualLight
Defined in: libs/scene/src/scene/scene_node.ts:747
true if this is a punctual light node, false otherwise
Returns
this is PunctualLight
Inherited from
applyMixins(GraphNode, mixinDrawable).isPunctualLight
getBoundingVolume()
getBoundingVolume():
BoundingVolume
Defined in: libs/scene/src/scene/scene_node.ts:761
Gets the bounding volume of the node
Returns
The bounding volume of the node
Inherited from
applyMixins(GraphNode, mixinDrawable).getBoundingVolume
setBoundingVolume()
setBoundingVolume(
bv):void
Defined in: libs/scene/src/scene/scene_node.ts:772
Sets the bounding volume of the node
Parameters
bv
The bounding volume to set
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).setBoundingVolume
getWorldBoundingVolume()
getWorldBoundingVolume():
BoundingVolume
Defined in: libs/scene/src/scene/scene_node.ts:783
Gets the world space bounding volume of the node
Returns
The world space bounding volume of the node
Inherited from
applyMixins(GraphNode, mixinDrawable).getWorldBoundingVolume
invalidateBoundingVolume()
invalidateBoundingVolume():
void
Defined in: libs/scene/src/scene/scene_node.ts:799
Force the bounding volume to be recalculated
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).invalidateBoundingVolume
invalidateWorldBoundingVolume()
invalidateWorldBoundingVolume(
transformChanged):void
Defined in: libs/scene/src/scene/scene_node.ts:804
Force the world space bounding volume to be recalculated
Parameters
transformChanged
boolean
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).invalidateWorldBoundingVolume
findNodeById()
findNodeById<
T>(id):T
Defined in: libs/scene/src/scene/scene_node.ts:876
Finds a scene node by its persistent ID.
Type Parameters
T
T extends SceneNode
Expected node type.
Parameters
id
string
Persistent identifier to match against SceneNode.persistentId.
Returns
T
The first matching node, or null if not found.
Inherited from
applyMixins(GraphNode, mixinDrawable).findNodeById
findSkeletonById()
findSkeletonById(
id):SkinBinding
Defined in: libs/scene/src/scene/scene_node.ts:891
Finds a skeleton object by its persistent ID.
Parameters
id
string
Persistent identifier to match against Skeleton.persistentId.
Returns
The first matchign node, or null if not found.
Inherited from
applyMixins(GraphNode, mixinDrawable).findSkeletonById
findSkinBindingById()
findSkinBindingById(
id):SkinBinding
Defined in: libs/scene/src/scene/scene_node.ts:899
Finds a skin binding by its persistent ID.
Parameters
id
string
Persistent identifier to match against SkinBinding.persistentId.
Returns
The first matching binding, or null if not found.
Inherited from
applyMixins(GraphNode, mixinDrawable).findSkinBindingById
findSkeletonRigById()
findSkeletonRigById(
id):SkeletonRig
Defined in: libs/scene/src/scene/scene_node.ts:914
Finds a shared skeleton rig by its persistent ID.
Parameters
id
string
Persistent identifier to match against SkeletonRig.persistentId.
Returns
The first matching rig, or null if not found.
Inherited from
applyMixins(GraphNode, mixinDrawable).findSkeletonRigById
findNodeByName()
findNodeByName<
T>(name):T
Defined in: libs/scene/src/scene/scene_node.ts:936
Finds a scene node by name.
If multiple nodes share the same name, returns the first match encountered during traversal.
Type Parameters
T
T extends SceneNode
Expected node type.
Parameters
name
string
Node name to match.
Returns
T
The first matching node, or null if not found.
Remarks
Names are not guaranteed unique. Prefer IDs for stable references.
Inherited from
applyMixins(GraphNode, mixinDrawable).findNodeByName
getSerializedMorphTargetGroups()
getSerializedMorphTargetGroups():
SerializedMorphTargetGroup[]
Defined in: libs/scene/src/scene/scene_node.ts:1019
Returns serialized morph target groups for this node.
Returns
Inherited from
applyMixins(GraphNode, mixinDrawable).getSerializedMorphTargetGroups
setSerializedMorphTargetGroups()
setSerializedMorphTargetGroups(
groups):void
Defined in: libs/scene/src/scene/scene_node.ts:1037
Restores serialized morph target groups for this node.
Parameters
groups
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).setSerializedMorphTargetGroups
invalidateTransform()
invalidateTransform(
invalidateLocal?):void
Defined in: libs/scene/src/scene/scene_node.ts:1073
Force transform update and notify descendants.
Parameters
invalidateLocal?
boolean = true
If true, also invalidate local matrix; otherwise only invalidate world matrix.
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).invalidateTransform
setMorphTargetWeight()
setMorphTargetWeight(
name,weight):void
Defined in: libs/scene/src/scene/scene_node.ts:1081
Set morph target weight by name for all meshes in the subtree.
Parameters
name
string
Morph target name
weight
number
Morph target weight
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).setMorphTargetWeight
setMorphTargetGroupWeight()
setMorphTargetGroupWeight(
name,weight):void
Defined in: libs/scene/src/scene/scene_node.ts:1097
Set morph target group weight for the model instance.
Parameters
name
string
Morph target group name
weight
number
Group weight
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable).setMorphTargetGroupWeight
getMorphTargetGroupWeight()
getMorphTargetGroupWeight(
name):number
Defined in: libs/scene/src/scene/scene_node.ts:1119
Get morph target group weight.
Parameters
name
string
Morph target group name
Returns
number
The group weight, or 0 if no group was found
Inherited from
applyMixins(GraphNode, mixinDrawable).getMorphTargetGroupWeight
collectMorphTargetNames()
collectMorphTargetNames():
string[]
Defined in: libs/scene/src/scene/scene_node.ts:1127
Collect all morph target names from meshes in the subtree.
Returns
string[]
Array of unique morph target names
Inherited from
applyMixins(GraphNode, mixinDrawable).collectMorphTargetNames
collectMorphTargetGroupNames()
collectMorphTargetGroupNames():
string[]
Defined in: libs/scene/src/scene/scene_node.ts:1143
Collect all model-level morph target group names.
Returns
string[]
Array of morph target group names
Inherited from
applyMixins(GraphNode, mixinDrawable).collectMorphTargetGroupNames
onPostClone()
protectedonPostClone():void|Promise<void>
Defined in: libs/scene/src/scene/scene_node.ts:1152
Get called when the node was just created by cloning from other node
Returns
void | Promise<void>
Inherited from
applyMixins(GraphNode, mixinDrawable).onPostClone
_onAttached()
protected_onAttached():void
Defined in: libs/scene/src/scene/scene_node.ts:1226
Get called when this node is attached to scene
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable)._onAttached
_onDetached()
protected_onDetached():void
Defined in: libs/scene/src/scene/scene_node.ts:1230
Get called when this node is detached from scene
Returns
void
Inherited from
applyMixins(GraphNode, mixinDrawable)._onDetached
worldToThis()
Call Signature
worldToThis(
v,result?):Vector3
Defined in: libs/scene/src/scene/scene_node.ts:1307
Transform world coordinate to local space
Parameters
v
Vector3
point or vector in world space
result?
Vector3
The output result
Returns
Vector3
The transformed local space coordinate
Inherited from
applyMixins(GraphNode, mixinDrawable).worldToThis
Call Signature
worldToThis(
v,result?):Vector4
Defined in: libs/scene/src/scene/scene_node.ts:1308
Transform world coordinate to local space
Parameters
v
Vector4
point or vector in world space
result?
Vector4
The output result
Returns
Vector4
The transformed local space coordinate
Inherited from
applyMixins(GraphNode, mixinDrawable).worldToThis
otherToThis()
Call Signature
otherToThis(
other,v,result?):Vector3
Defined in: libs/scene/src/scene/scene_node.ts:1327
Transform coordinate in other coordinate space to local space
Parameters
other
The other coordinate space
v
Vector3
point or vector in other coordinate space
result?
Vector3
The output result
Returns
Vector3
The transformed local space coordinate
Inherited from
applyMixins(GraphNode, mixinDrawable).otherToThis
Call Signature
otherToThis(
other,v,result?):Vector4
Defined in: libs/scene/src/scene/scene_node.ts:1328
Transform coordinate in other coordinate space to local space
Parameters
other
The other coordinate space
v
Vector4
point or vector in other coordinate space
result?
Vector4
The output result
Returns
Vector4
The transformed local space coordinate
Inherited from
applyMixins(GraphNode, mixinDrawable).otherToThis
thisToWorld()
Call Signature
thisToWorld(
v,result?):Vector3
Defined in: libs/scene/src/scene/scene_node.ts:1338
Transform local coordinate to world space
Parameters
v
Vector3
point or vector in local space
result?
Vector3
The output result
Returns
Vector3
The transformed world space coordinate
Inherited from
applyMixins(GraphNode, mixinDrawable).thisToWorld
Call Signature
thisToWorld(
v,result?):Vector4
Defined in: libs/scene/src/scene/scene_node.ts:1339
Transform local coordinate to world space
Parameters
v
Vector4
point or vector in local space
result?
Vector4
The output result
Returns
Vector4
The transformed world space coordinate
Inherited from
applyMixins(GraphNode, mixinDrawable).thisToWorld
thisToOther()
Call Signature
thisToOther(
other,v,result?):Vector3
Defined in: libs/scene/src/scene/scene_node.ts:1358
Transform local space coordinate to other coordinate space
Parameters
other
The other coordinate space
v
Vector3
point or vector in localspace
result?
Vector3
The output result
Returns
Vector3
The transformed coordinate in other coordinate space
Inherited from
applyMixins(GraphNode, mixinDrawable).thisToOther
Call Signature
thisToOther(
other,v,result?):Vector4
Defined in: libs/scene/src/scene/scene_node.ts:1359
Transform local space coordinate to other coordinate space
Parameters
other
The other coordinate space
v
Vector4
point or vector in localspace
result?
Vector4
The output result
Returns
Vector4
The transformed coordinate in other coordinate space
Inherited from
applyMixins(GraphNode, mixinDrawable).thisToOther
getWorldPosition()
getWorldPosition(
outPos?):Vector3
Defined in: libs/scene/src/scene/scene_node.ts:1367
Gets the position of the xform in world space
Parameters
outPos?
Vector3
Returns
Vector3
position of the xform in world space
Inherited from
applyMixins(GraphNode, mixinDrawable).getWorldPosition
moveBy()
moveBy(
delta):Water
Defined in: libs/scene/src/scene/scene_node.ts:1378
Moves the xform by an offset vector
Parameters
delta
Vector3
The offset vector
Returns
Water
self
Inherited from
applyMixins(GraphNode, mixinDrawable).moveBy
scaleBy()
scaleBy(
factor):Water
Defined in: libs/scene/src/scene/scene_node.ts:1387
Scales the xform by a given scale factor
Parameters
factor
Vector3
The scale factor
Returns
Water
self
Inherited from
applyMixins(GraphNode, mixinDrawable).scaleBy
setLocalTransform()
setLocalTransform(
matrix):Water
Defined in: libs/scene/src/scene/scene_node.ts:1396
Sets the local transform matrix of the xform
Parameters
matrix
Matrix4x4
The transform matrix to set
Returns
Water
self
Inherited from
applyMixins(GraphNode, mixinDrawable).setLocalTransform
lookAt()
lookAt(
eye,target,up):Water
Defined in: libs/scene/src/scene/scene_node.ts:1454
Sets the local tranformation matrix by a look-at matrix
Parameters
eye
Vector3
The eye position used to make the look-at matrix
target
Vector3
The target position used to make the look-at matrix
up
Vector3
The up vector used to make the look-at matrix
Returns
Water
self
Inherited from
applyMixins(GraphNode, mixinDrawable).lookAt
reparent()
reparent(
p?):Water
Defined in: libs/scene/src/scene/scene_node.ts:1490
Removes this node from it's parent and add this node to another parent node if required
Parameters
p?
The new parent node that this node should be added to or null
Returns
Water
self
Inherited from
applyMixins(GraphNode, mixinDrawable).reparent
onDispose()
protectedonDispose():void
Defined in: libs/scene/src/scene/water.ts:143
Disposes the water node
Returns
void
Overrides
applyMixins(GraphNode, mixinDrawable).onDispose
update()
update(
frameId,elapsedInSeconds):void
Defined in: libs/scene/src/scene/water.ts:720
Update node state once per-frame
Parameters
frameId
number
Current frame id
elapsedInSeconds
number
Elapsed time from game start in seconds
Returns
void
Overrides
applyMixins(GraphNode, mixinDrawable).update
updatePerCamera()
updatePerCamera(
camera,_elapsedInSeconds,_deltaInSeconds):void
Defined in: libs/scene/src/scene/water.ts:745
Update node state once per-camera
Parameters
camera
Updates according to which camera
_elapsedInSeconds
number
Elapsed time from game start in seconds
_deltaInSeconds
number
Elapsed time since previous frame in seconds
Returns
void
Overrides
applyMixins(GraphNode, mixinDrawable).updatePerCamera
getPickTarget()
getPickTarget():
PickTarget
Defined in: libs/scene/src/scene/water.ts:879
Returns the pick target override to be reported when this object is picked.
If not set, a default target derived from the node/material may be used.
Returns
Implementation of
getMorphData()
getMorphData():
any
Defined in: libs/scene/src/scene/water.ts:885
Returns the morph target data texture (if morphing is used).
Returns
any
Implementation of
getSkinInfluenceData()
getSkinInfluenceData():
any
Defined in: libs/scene/src/scene/water.ts:888
Returns additional per-vertex skinning influences packed in a texture, if needed.
Returns
any
Implementation of
getMorphInfo()
getMorphInfo():
any
Defined in: libs/scene/src/scene/water.ts:894
Returns the morph information buffer (weights, ranges, etc.).
Returns
any
Implementation of
getQueueType()
getQueueType():
number
Defined in: libs/scene/src/scene/water.ts:900
Returns the type/category of render queue this object belongs to.
Returns
number
Implementation of
isUnlit()
isUnlit():
boolean
Defined in: libs/scene/src/scene/water.ts:906
True if shading is unlit (does not depend on scene lighting).
Returns
boolean
Implementation of
needSceneColor()
needSceneColor():
boolean
Defined in: libs/scene/src/scene/water.ts:912
Whether the object requires access to the scene color buffer.
Returns
boolean
Implementation of
needSceneDepth()
needSceneDepth():
boolean
Defined in: libs/scene/src/scene/water.ts:918
Whether the object requires access to the scene depth (linear or non-linear).
Returns
boolean
Implementation of
needHiZNearest()
needHiZNearest():
boolean
Defined in: libs/scene/src/scene/water.ts:924
Whether the object queries the Hi-Z pyramid's nearest-depth channel.
Turns that channel on for the frame, which doubles the pyramid's bandwidth, so only a drawable that actually samples it should say yes. Unavailable on WebGL1, where the request is dropped and the drawable has to shade without it.
Optional: almost nothing needs it, and requiring it would break every external Drawable implementation for the sake of a return false.
Returns
boolean
Implementation of
getMaterial()
getMaterial():
WaterMaterial
Defined in: libs/scene/src/scene/water.ts:930
Returns the bound material driving shading for this drawable.
Returns
WaterMaterial
Implementation of
getPrimitive()
getPrimitive():
any
Defined in: libs/scene/src/scene/water.ts:936
Returns the geometry primitive to be drawn.
Returns
any
Implementation of
isWater()
isWater():
this is Water
Defined in: libs/scene/src/scene/water.ts:942
Type guard: true if this node is a water node.
Returns
this is Water
Overrides
applyMixins(GraphNode, mixinDrawable).isWater
computeBoundingVolume()
computeBoundingVolume():
any
Defined in: libs/scene/src/scene/water.ts:948
Computes the bounding volume of the node
Returns
any
The output bounding volume
Overrides
applyMixins(GraphNode, mixinDrawable).computeBoundingVolume
computeWorldBoundingVolume()
computeWorldBoundingVolume():
BoundingBox
Defined in: libs/scene/src/scene/water.ts:954
Computes the world space bounding volume of the node
Returns
The output bounding volume
Overrides
applyMixins(GraphNode, mixinDrawable).computeWorldBoundingVolume
calculateLocalTransform()
calculateLocalTransform(
outMatrix):void
Defined in: libs/scene/src/scene/water.ts:992
Calculate local transform matrix
Parameters
outMatrix
Matrix4x4
Matrix object that holds the result of calculation
Returns
void
Overrides
applyMixins(GraphNode, mixinDrawable).calculateLocalTransform
calculateWorldTransform()
calculateWorldTransform(
outMatrix):void
Defined in: libs/scene/src/scene/water.ts:995
Calculate world transform matrix
Parameters
outMatrix
Matrix4x4
Matrix object that holds the result of calculation
Returns
void
Overrides
applyMixins(GraphNode, mixinDrawable).calculateWorldTransform
draw()
draw(
ctx,renderQueue):void
Defined in: libs/scene/src/scene/water.ts:1017
Issues draw commands for this object.
Parameters
ctx
Full draw context for the current pass.
renderQueue
The current render queue issuing this draw.
Returns
void
Implementation of
getSurfacePoint()
getSurfacePoint(
points,outPos?,outNorm?):Promise<void>
Defined in: libs/scene/src/scene/water.ts:1031
Retreive the disturbed world position and normal at water surface
Parameters
points
Vector3[]
outPos?
Vector3[]
outNorm?
Vector3[]
Returns
Promise<void>