Skip to content

Documentation / scene / ClipmapTerrain

Class: ClipmapTerrain ​

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:68

ClipmapTerrain implements an efficient terrain rendering system using clipmaps.

Clipmaps provide level-of-detail (LOD) rendering for large terrains by using multiple nested grids at different resolutions. The terrain automatically adjusts detail levels based on camera distance, providing high detail near the camera and lower detail in the distance.

Key features:

  • Automatic LOD management based on camera position
  • Support for height maps, splat maps, and detail textures
  • Integrated grass rendering system

Extends ​

  • GraphNode<this> & object & Disposable<this> & IMixinDrawable

Implements ​

Constructors ​

Constructor ​

new ClipmapTerrain(scene, sizeX?, sizeZ?, clipMapTileSize?): ClipmapTerrain

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:97

Creates a new clipmap terrain instance.

Parameters ​

scene ​

Scene

Scene to add the terrain to

sizeX? ​

number = 256

Terrain width in world units (default: 256)

sizeZ? ​

number = 256

Terrain depth in world units (default: 256)

clipMapTileSize? ​

number = 64

Size of each clipmap tile in vertices (default: 64) Larger values use more memory but reduce draw calls

Returns ​

ClipmapTerrain

Overrides ​

applyMixins(GraphNode, mixinDrawable).constructor

Properties ​

objectColor ​

readonly objectColor: Vector4

Defined in: libs/scene/src/render/drawable_mixin.ts:13

Inherited from ​

applyMixins(GraphNode, mixinDrawable).objectColor


BBOXDRAW_INHERITED ​

readonly static BBOXDRAW_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 ​

readonly static BBOXDRAW_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 ​

readonly static BBOXDRAW_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 ​

readonly static BBOXDRAW_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

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 ​

ScriptAttachment[]

Set Signature ​

set scripts(value): void

Defined in: libs/scene/src/scene/scene_node.ts:455

Parameters ​
value ​

ScriptAttachment[]

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 ​

GPUClothComponent[]

Set Signature ​

set gpuClothComponents(value): void

Defined in: libs/scene/src/scene/scene_node.ts:480

Parameters ​
value ​

GPUClothComponent[]

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 ​

Scene

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 ​

AnimationSet

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 ​

SharedModel

Set Signature ​

set sharedModel(model): void

Defined in: libs/scene/src/scene/scene_node.ts:568

Parameters ​
model ​

SharedModel

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 ​

SceneMorphTargetGroup[]

Set Signature ​

set morphTargetGroups(groups): void

Defined in: libs/scene/src/scene/scene_node.ts:575

Parameters ​
groups ​

SceneMorphTargetGroup[]

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 ​

SceneNodeVisible

Set Signature ​

set showState(val): void

Defined in: libs/scene/src/scene/scene_node.ts:838

Parameters ​
val ​

SceneNodeVisible

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 ​

SceneNode

Set Signature ​

set parent(p): void

Defined in: libs/scene/src/scene/scene_node.ts:1265

Parameters ​
p ​

SceneNode

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 ​

SceneNode[]

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


grassRenderer ​

Get Signature ​

get grassRenderer(): GrassRenderer

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:125

Gets the integrated grass renderer for this terrain. The grass renderer handles vegetation rendering on the terrain surface.

Returns ​

GrassRenderer

The grass renderer instance


MAX_DETAIL_MAP_COUNT ​

Get Signature ​

get MAX_DETAIL_MAP_COUNT(): number

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:134

Gets the maximum number of detail maps supported by the terrain material. Detail maps provide surface texturing (grass, rock, sand, etc.).

Returns ​

number

Maximum number of detail maps


numDetailMaps ​

Get Signature ​

get numDetailMaps(): number

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:194

The current number of active detail maps. Detail maps define different surface materials (grass, rock, etc.).

Returns ​

number

Number of active detail maps

Set Signature ​

set numDetailMaps(val): void

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:197

Parameters ​
val ​

number

Returns ​

void


castShadow ​

Get Signature ​

get castShadow(): boolean

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:221

Wether the mesh node casts shadows

Returns ​

boolean

Set Signature ​

set castShadow(val): void

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:224

Parameters ​
val ​

boolean

Returns ​

void


sizeX ​

Get Signature ​

get sizeX(): number

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:228

The terrain width.

Returns ​

number

Set Signature ​

set sizeX(val): void

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:231

Parameters ​
val ​

number

Returns ​

void


sizeZ ​

Get Signature ​

get sizeZ(): number

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:238

The terrain depth.

Returns ​

number

Set Signature ​

set sizeZ(val): void

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:241

Parameters ​
val ​

number

Returns ​

void


heightMap ​

Get Signature ​

get heightMap(): Texture2D<unknown>

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:248

The current height map texture.

Returns ​

Texture2D<unknown>

Set Signature ​

set heightMap(val): void

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:251

Parameters ​
val ​

Texture2D<unknown>

Returns ​

void


splatMap ​

Get Signature ​

get splatMap(): Texture2D<unknown> | Texture2DArray<unknown>

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:258

The splat map texture

Returns ​

Texture2D<unknown> | Texture2DArray<unknown>


material ​

Get Signature ​

get material(): ClipmapTerrainMaterial

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:262

Material instance of the terrain

Returns ​

ClipmapTerrainMaterial


wireframe ​

Get Signature ​

get wireframe(): boolean

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:266

whether wireframe rendering is enabled

Returns ​

boolean

Set Signature ​

set wireframe(val): void

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:269

Parameters ​
val ​

boolean

Returns ​

void


worldRegion ​

Get Signature ​

get worldRegion(): Immutable<Vector4>

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:360

the actual world-space region covered by this terrain (After applying world transform).

Returns ​

Immutable<Vector4>

Methods ​

isPrototypeOf() ​

static isPrototypeOf(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 ​

Drawable.dispose

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 ​

Drawable.getDrawableId

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 ​

RenderQueueRef

Returns ​

void

Implementation of ​

Drawable.pushRenderQueueRef

Inherited from ​

applyMixins(GraphNode, mixinDrawable).pushRenderQueueRef


applyInstanceOffsetAndStride() ​

applyInstanceOffsetAndStride(renderQueue, stride, offset): void

Defined in: libs/scene/src/render/drawable_mixin.ts:16

Parameters ​

renderQueue ​

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 ​

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 ​

DrawableInstanceInfo

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 ​

Drawable.getObjectColor

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 ​

Drawable.updateState

Inherited from ​

applyMixins(GraphNode, mixinDrawable).updateState


bind() ​

bind(ctx, renderQueue): void

Defined in: libs/scene/src/render/drawable_mixin.ts:22

Parameters ​

ctx ​

DrawContext

renderQueue ​

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 ​

Drawable.getName

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(): ClipmapTerrain

Defined in: libs/scene/src/scene/graph_node.ts:49

Returns the owning scene node (transform and hierarchy).

Returns ​

ClipmapTerrain

Implementation of ​

Drawable.getNode

Inherited from ​

applyMixins(GraphNode, mixinDrawable).getNode

Call Signature ​

getNode(): SceneNode

Defined in: libs/scene/src/render/drawable_mixin.ts:88

Returns ​

SceneNode

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 ​

Drawable.getBoneMatrices

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

Camera from which to compute distance (usually camera -> object).

Returns ​

number

Implementation of ​

Drawable.getSortDistance

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 ​

Drawable.isBatchable

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 ​

SceneNode

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 ​

GPUClothComponent

Returns ​

GPUClothComponent

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 ​

GPUClothComponent

Returns ​

boolean

Inherited from ​

applyMixins(GraphNode, mixinDrawable).removeGPUClothComponent


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 ​

SceneNode

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 ​

SceneNode

Returns ​

boolean

Inherited from ​

applyMixins(GraphNode, mixinDrawable).isParentOf


remove() ​

remove(): ClipmapTerrain

Defined in: libs/scene/src/scene/scene_node.ts:644

Detach this node from its parent.

Returns ​

ClipmapTerrain

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<SceneNode>

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 ​

NodeIterateFunc

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 ​

NodeIterateFunc

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


isWater() ​

isWater(): this is Water

Defined in: libs/scene/src/scene/scene_node.ts:723

Type guard: true if this node is a water node.

Returns ​

this is Water

Inherited from ​

applyMixins(GraphNode, mixinDrawable).isWater


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


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 ​

BoundingVolume

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 ​

BoundingVolume

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 ​

BoundingVolume

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 ​

SkinBinding

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 ​

SkinBinding

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 ​

SkeletonRig

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 ​

SerializedMorphTargetGroup[]

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 ​

SerializedMorphTargetGroup[]

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() ​

protected onPostClone(): 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 ​

SceneNode

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 ​

SceneNode

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 ​

SceneNode

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 ​

SceneNode

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): ClipmapTerrain

Defined in: libs/scene/src/scene/scene_node.ts:1378

Moves the xform by an offset vector

Parameters ​

delta ​

Vector3

The offset vector

Returns ​

ClipmapTerrain

self

Inherited from ​

applyMixins(GraphNode, mixinDrawable).moveBy


scaleBy() ​

scaleBy(factor): ClipmapTerrain

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 ​

ClipmapTerrain

self

Inherited from ​

applyMixins(GraphNode, mixinDrawable).scaleBy


setLocalTransform() ​

setLocalTransform(matrix): ClipmapTerrain

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 ​

ClipmapTerrain

self

Inherited from ​

applyMixins(GraphNode, mixinDrawable).setLocalTransform


lookAt() ​

lookAt(eye, target, up): ClipmapTerrain

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 ​

ClipmapTerrain

self

Inherited from ​

applyMixins(GraphNode, mixinDrawable).lookAt


update() ​

update(frameId, elapsedInSeconds, deltaInSeconds): void

Defined in: libs/scene/src/scene/scene_node.ts:1464

Update node state once per-frame

Parameters ​

frameId ​

number

Current frame id

elapsedInSeconds ​

number

Elapsed time from game start in seconds

deltaInSeconds ​

number

Elapsed time since previous frame in seconds

Returns ​

void

Inherited from ​

applyMixins(GraphNode, mixinDrawable).update


reparent() ​

reparent(p?): ClipmapTerrain

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? ​

SceneNode

The new parent node that this node should be added to or null

Returns ​

ClipmapTerrain

self

Inherited from ​

applyMixins(GraphNode, mixinDrawable).reparent


clone() ​

clone(): Promise<ClipmapTerrain>

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:203

Clone this node.

Returns ​

Promise<ClipmapTerrain>

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.

Overrides ​

applyMixins(GraphNode, mixinDrawable).clone


setSize() ​

setSize(sizeX, sizeZ): void

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:213

Sets the terrain size. Triggers height map resize if dimensions change.

Parameters ​

sizeX ​

number

New width

sizeZ ​

number

New depth

Returns ​

void


getPickTarget() ​

getPickTarget(): PickTarget

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:275

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 ​

PickTarget

Implementation of ​

Drawable.getPickTarget


getMorphData() ​

getMorphData(): any

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:281

Returns the morph target data texture (if morphing is used).

Returns ​

any

Implementation of ​

Drawable.getMorphData


getSkinInfluenceData() ​

getSkinInfluenceData(): any

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:284

Returns additional per-vertex skinning influences packed in a texture, if needed.

Returns ​

any

Implementation of ​

Drawable.getSkinInfluenceData


getMorphInfo() ​

getMorphInfo(): any

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:290

Returns the morph information buffer (weights, ranges, etc.).

Returns ​

any

Implementation of ​

Drawable.getMorphInfo


getQueueType() ​

getQueueType(): number

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:296

Returns the type/category of render queue this object belongs to.

Returns ​

number

Implementation of ​

Drawable.getQueueType


isUnlit() ​

isUnlit(): boolean

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:302

True if shading is unlit (does not depend on scene lighting).

Returns ​

boolean

Implementation of ​

Drawable.isUnlit


needSceneColor() ​

needSceneColor(): boolean

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:308

Whether the object requires access to the scene color buffer.

Returns ​

boolean

Implementation of ​

Drawable.needSceneColor


needSceneDepth() ​

needSceneDepth(): boolean

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:314

Whether the object requires access to the scene depth (linear or non-linear).

Returns ​

boolean

Implementation of ​

Drawable.needSceneDepth


getMaterial() ​

getMaterial(): ClipmapTerrainMaterial

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:320

Returns the bound material driving shading for this drawable.

Returns ​

ClipmapTerrainMaterial

Implementation of ​

Drawable.getMaterial


getPrimitive() ​

getPrimitive(): any

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:326

Returns the geometry primitive to be drawn.

Returns ​

any

Implementation of ​

Drawable.getPrimitive


isClipmapTerrain() ​

isClipmapTerrain(): this is ClipmapTerrain

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:332

Type guard: true if this node is a clipmap terrain.

Returns ​

this is ClipmapTerrain

Overrides ​

applyMixins(GraphNode, mixinDrawable).isClipmapTerrain


computeBoundingVolume() ​

computeBoundingVolume(): any

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:338

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/terrain-cm/terrain-cm.ts:344

Computes the world space bounding volume of the node

Returns ​

BoundingBox

The output bounding volume

Overrides ​

applyMixins(GraphNode, mixinDrawable).computeWorldBoundingVolume


calculateLocalTransform() ​

calculateLocalTransform(outMatrix): void

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:369

Calculates the local transformation matrix. For terrains, this only includes translation.

Parameters ​

outMatrix ​

Matrix4x4

Output matrix to store the result

Returns ​

void

Overrides ​

applyMixins(GraphNode, mixinDrawable).calculateLocalTransform


calculateWorldTransform() ​

calculateWorldTransform(outMatrix): void

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:378

Calculates the world transformation matrix. Terrains inherit only translation from parent nodes.

Parameters ​

outMatrix ​

Matrix4x4

Output matrix to store the result

Returns ​

void

Overrides ​

applyMixins(GraphNode, mixinDrawable).calculateWorldTransform


updateBoundingBox() ​

updateBoundingBox(): void

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:399

Updates the terrain's bounding box by analyzing the height map. This is an asynchronous operation that reads back GPU data.

Returns ​

void

Example ​

typescript
// Update bounding box after changing height map
terrain.heightMap = newHeightMap;
terrain.updateBoundingBox();

updatePerCamera() ​

updatePerCamera(camera, _elapsedInSeconds, _deltaInSeconds): void

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:444

Update node state once per-camera

Parameters ​

camera ​

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


updateRegion() ​

updateRegion(): void

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:502

Updates the terrain material region based on current position and scale. Should be called after changing position, scale, or height map.

Returns ​

void


draw() ​

draw(ctx, renderQueue): void

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:517

Issues draw commands for this object.

Parameters ​

ctx ​

DrawContext

Full draw context for the current pass.

renderQueue ​

RenderQueue

The current render queue issuing this draw.

Returns ​

void

Implementation of ​

Drawable.draw


onDispose() ​

protected onDispose(): void

Defined in: libs/scene/src/scene/terrain-cm/terrain-cm.ts:612

Disposes of all resources used by this terrain. Should be called when the terrain is no longer needed.

Returns ​

void

Overrides ​

applyMixins(GraphNode, mixinDrawable).onDispose

Released under the MIT License.