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:549

Type-only event map marker.

dispose

dispose: []

Inherited from

IDisposable.[EventMapType]


disposed

readonly disposed: boolean

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

Inherited from

IDisposable.disposed

Methods

on()

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

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

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:563

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:569

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:575

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.