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

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

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

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

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

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

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

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

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

Parameters

scope

PBInsideFunctionScope

Global scope of the shader program.

xz

PBShaderExp

XZ position.

Returns

PBShaderExp

Implementation of

WaveGenerator.calcFragmentNormal


calcFragmentNormalAndFoam()

calcFragmentNormalAndFoam(scope, xz): 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.

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.