Skip to content

Documentation / scene / WaveGenerator

Interface: WaveGenerator ​

Defined in: libs/scene/src/render/wavegenerator.ts:14

Abstract class for wave generators.

Extends ​

  • IDisposable

Properties ​

[EventMapType]? ​

readonly optional [EventMapType]?: object

Defined in: libs/base/dist/index.d.ts:585

Type-only event map marker.

dispose ​

dispose: []

Inherited from ​

IDisposable.[EventMapType]


disposed ​

readonly disposed: boolean

Defined in: libs/base/dist/index.d.ts:6096

Inherited from ​

IDisposable.disposed

Methods ​

on() ​

on<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:592

Sets up a function that will be called whenever the specified event is delivered to the target

Type Parameters ​

K ​

K extends "dispose"

Parameters ​

type ​

K

The event type to listen for

listener ​

EventListener<{ dispose: []; }, K>

The callback function

context? ​

unknown

Context object of the listener function

Returns ​

void

Inherited from ​

IDisposable.on


once() ​

once<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:599

Sets up a function that will be called only once when the specified event is delivered to the target

Type Parameters ​

K ​

K extends "dispose"

Parameters ​

type ​

K

The event type to listen for

listener ​

EventListener<{ dispose: []; }, K>

The callback function

context? ​

unknown

Context object of the listener function

Returns ​

void

Inherited from ​

IDisposable.once


off() ​

off<K>(type, listener?, context?): void

Defined in: libs/base/dist/index.d.ts:605

Removes an event listener function previously registered.

Type Parameters ​

K ​

K extends "dispose"

Parameters ​

type ​

K

The event type for which to remove an event listener

listener? ​

EventListener<{ dispose: []; }>

The callback function to be removed

context? ​

unknown

Returns ​

void

Inherited from ​

IDisposable.off


dispatchEvent() ​

dispatchEvent<K>(type, ...args): void

Defined in: libs/base/dist/index.d.ts:611

Synchronously invoke the affected event listeners with an event object

Type Parameters ​

K ​

K extends "dispose"

Parameters ​

type ​

K

args ​

...object[K]

Returns ​

void

false if the event was canceled, otherwise true

Inherited from ​

IDisposable.dispatchEvent


clone() ​

clone(): this

Defined in: libs/scene/src/render/wavegenerator.ts:19

Create a new instance from this

Returns ​

this

The created instance


setupUniforms() ​

setupUniforms(scope, uniformGroup): void

Defined in: libs/scene/src/render/wavegenerator.ts:30

Setup uniforms for the shader program.

Parameters ​

scope ​

PBGlobalScope

Global scope of the shader program.

uniformGroup ​

number

Bind group index for uniform values

Returns ​

void


calcVertexPositionAndNormal() ​

calcVertexPositionAndNormal(scope, inPos, outPos, outNormal): void

Defined in: libs/scene/src/render/wavegenerator.ts:38

Calculate vertex position and normal.

Parameters ​

scope ​

PBInsideFunctionScope

Global scope of the shader program.

inPos ​

PBShaderExp

Input position.

outPos ​

PBShaderExp

Output position.

outNormal ​

PBShaderExp

Output normal.

Returns ​

void


calcFragmentNormal() ​

calcFragmentNormal(scope, xz, vertexNormal): PBShaderExp

Defined in: libs/scene/src/render/wavegenerator.ts:50

Parameters ​

scope ​

PBInsideFunctionScope

Global scope of the shader program.

xz ​

PBShaderExp

XZ position.

vertexNormal ​

PBShaderExp

Vertex normal.

Returns ​

PBShaderExp


calcFragmentNormalAndFoam() ​

calcFragmentNormalAndFoam(scope, xz, vertexNormal): PBShaderExp

Defined in: libs/scene/src/render/wavegenerator.ts:57

Calculate fragment normal and foam.

Parameters ​

scope ​

PBInsideFunctionScope

Global scope of the shader program.

xz ​

PBShaderExp

XZ position.

vertexNormal ​

PBShaderExp

Vertex normal.

Returns ​

PBShaderExp


applyWaterBindGroup() ​

applyWaterBindGroup(bindGroup): void

Defined in: libs/scene/src/render/wavegenerator.ts:66

Apply water bind group.

Parameters ​

bindGroup ​

BindGroup

Bind group to apply.

Returns ​

void


calcClipmapTileAABB() ​

calcClipmapTileAABB(minX, maxX, minZ, maxZ, y, outAABB): void

Defined in: libs/scene/src/render/wavegenerator.ts:76

Parameters ​

minX ​

number

Minimum X position of the clipmap tile.

maxX ​

number

Maximum X position of the clipmap tile.

minZ ​

number

Minimum Z position of the clipmap tile.

maxZ ​

number

Maximum Z position of the clipmap tile.

y ​

number

Y position of the water surface.

outAABB ​

AABB

Output AABB.

Returns ​

void


update() ​

update(timeInSeconds): void

Defined in: libs/scene/src/render/wavegenerator.ts:81

Update the wave generator.

Parameters ​

timeInSeconds ​

number

Time in seconds.

Returns ​

void


getHash() ​

getHash(): string

Defined in: libs/scene/src/render/wavegenerator.ts:86

Get the shader hash of the wave generator.

Returns ​

string


needUpdate() ​

needUpdate(): boolean

Defined in: libs/scene/src/render/wavegenerator.ts:91

Wether this wave generator's update() method should be called this frame

Returns ​

boolean

true if this wave generator's update() method should be called this frame


isOk() ​

isOk(device): boolean

Defined in: libs/scene/src/render/wavegenerator.ts:96

Check if the wave generator is ok.

Parameters ​

device ​

AbstractDevice

Rendering device.

Returns ​

boolean


dispose() ​

dispose(): void

Defined in: libs/scene/src/render/wavegenerator.ts:100

Dispose the wave generator.

Returns ​

void

Overrides ​

IDisposable.dispose

Released under the MIT License.