Skip to content

Documentation / scene / FBMWaveGenerator

Class: FBMWaveGenerator ​

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

FBM wave generator.

Extends ​

  • Disposable

Implements ​

Constructors ​

Constructor ​

new FBMWaveGenerator(): FBMWaveGenerator

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:25

Creates a new Gerstner wave generator.

Returns ​

FBMWaveGenerator

Overrides ​

Disposable.constructor

Accessors ​

disposed ​

Get Signature ​

get disposed(): boolean

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

Returns ​

boolean

Implementation of ​

WaveGenerator.disposed

Inherited from ​

Disposable.disposed


numOctaves ​

Get Signature ​

get numOctaves(): number

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:47

Number of octaves

Returns ​

number

Set Signature ​

set numOctaves(val): void

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

Parameters ​
val ​

number

Returns ​

void


amplitude ​

Get Signature ​

get amplitude(): number

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

Wave amplitude

Returns ​

number

Set Signature ​

set amplitude(val): void

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:60

Parameters ​
val ​

number

Returns ​

void


frequency ​

Get Signature ​

get frequency(): number

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:67

Wave frequency

Returns ​

number

Set Signature ​

set frequency(val): void

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:70

Parameters ​
val ​

number

Returns ​

void


wind ​

Get Signature ​

get wind(): Immutable<Vector2>

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:77

Wind velocity

Returns ​

Immutable<Vector2>

Set Signature ​

set wind(val): void

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:80

Parameters ​
val ​

Immutable<Vector2>

Returns ​

void

Methods ​

on() ​

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

Implementation of ​

WaveGenerator.on

Inherited from ​

Disposable.on


once() ​

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

Implementation of ​

WaveGenerator.once

Inherited from ​

Disposable.once


off() ​

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

Implementation of ​

WaveGenerator.off

Inherited from ​

Disposable.off


dispatchEvent() ​

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

Implementation of ​

WaveGenerator.dispatchEvent

Inherited from ​

Disposable.dispatchEvent


dispose() ​

dispose(): void

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

Dispose the wave generator.

Returns ​

void

Implementation of ​

WaveGenerator.dispose

Inherited from ​

Disposable.dispose


onDispose() ​

protected onDispose(): void

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

Returns ​

void

Inherited from ​

Disposable.onDispose


clone() ​

clone(): FBMWaveGenerator

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:35

Create a new instance from this

Returns ​

FBMWaveGenerator

The created instance

Implementation of ​

WaveGenerator.clone


update() ​

update(): void

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:291

Update the wave generator.

Returns ​

void

Implementation of ​

WaveGenerator.update


needUpdate() ​

needUpdate(): boolean

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:293

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

Implementation of ​

WaveGenerator.needUpdate


calcClipmapTileAABB() ​

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

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:297

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

Implementation of ​

WaveGenerator.calcClipmapTileAABB


calcFragmentNormal() ​

calcFragmentNormal(scope, xz, _vertexNormal): PBShaderExp

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:303

Parameters ​

scope ​

PBInsideFunctionScope

Global scope of the shader program.

xz ​

PBShaderExp

XZ position.

_vertexNormal ​

PBShaderExp

Vertex normal.

Returns ​

PBShaderExp

Implementation of ​

WaveGenerator.calcFragmentNormal


calcFragmentNormalAndFoam() ​

calcFragmentNormalAndFoam(scope, xz, _vertexNormal): PBShaderExp

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:323

Calculate fragment normal and foam.

Parameters ​

scope ​

PBInsideFunctionScope

Global scope of the shader program.

xz ​

PBShaderExp

XZ position.

_vertexNormal ​

PBShaderExp

Vertex normal.

Returns ​

PBShaderExp

Implementation of ​

WaveGenerator.calcFragmentNormalAndFoam


setupUniforms() ​

setupUniforms(scope, uniformGroup): void

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:327

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

Implementation of ​

WaveGenerator.setupUniforms


calcVertexPositionAndNormal() ​

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

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:376

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

Implementation of ​

WaveGenerator.calcVertexPositionAndNormal


applyWaterBindGroup() ​

applyWaterBindGroup(bindGroup): void

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:385

Apply water bind group.

Parameters ​

bindGroup ​

BindGroup

Bind group to apply.

Returns ​

void

Implementation of ​

WaveGenerator.applyWaterBindGroup


isOk() ​

isOk(): boolean

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:394

Check if the wave generator is ok.

Returns ​

boolean

Implementation of ​

WaveGenerator.isOk


getHash() ​

getHash(): string

Defined in: libs/scene/src/render/fbm_wavegenerator.ts:398

Get the shader hash of the wave generator.

Returns ​

string

Implementation of ​

WaveGenerator.getHash

Released under the MIT License.