Documentation / scene / GerstnerWaveGenerator
Class: GerstnerWaveGenerator
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:11
Gerstner wave generator.
Extends
Disposable
Implements
Constructors
Constructor
new GerstnerWaveGenerator():
GerstnerWaveGenerator
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:18
Creates a new Gerstner wave generator.
Returns
GerstnerWaveGenerator
Overrides
Disposable.constructor
Accessors
disposed
Get Signature
get disposed():
boolean
Defined in: libs/base/dist/index.d.ts:6065
Returns
boolean
Implementation of
Inherited from
Disposable.disposed
numWaves
Get Signature
get numWaves():
number
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:53
Gets the number of waves.
Returns
number
Set Signature
set numWaves(
val):void
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:56
Parameters
val
number
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
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
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
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
Inherited from
Disposable.dispatchEvent
dispose()
dispose():
void
Defined in: libs/base/dist/index.d.ts:6066
Dispose the wave generator.
Returns
void
Implementation of
Inherited from
Disposable.dispose
onDispose()
protectedonDispose():void
Defined in: libs/base/dist/index.d.ts:6067
Returns
void
Inherited from
Disposable.onDispose
clone()
clone():
GerstnerWaveGenerator
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:43
Create a new instance from this
Returns
GerstnerWaveGenerator
The created instance
Implementation of
deleteWave()
deleteWave(
index):void
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:70
Delete wave at index
Parameters
index
number
Returns
void
insertWave()
insertWave(
index):void
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:79
Delete wave at index
Parameters
index
number
Returns
void
setWaveDirection()
setWaveDirection(
waveIndex,angle):void
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:92
Sets the angle of the wave direction in radians.
Parameters
waveIndex
number
index of the wave to set.
angle
number
angle of the wave direction in radians.
Returns
void
getWaveDirection()
getWaveDirection(
waveIndex):number
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:103
Gets the angle of the wave direction in radians.
Parameters
waveIndex
number
index of the wave to get.
Returns
number
Angle of the wave direction in radians.
setWaveSteepness()
setWaveSteepness(
waveIndex,steepness):void
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:111
Sets the steepness of the wave.
Parameters
waveIndex
number
index of the wave to set.
steepness
number
Steepness of the wave.
Returns
void
getWaveSteepness()
getWaveSteepness(
waveIndex):number
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:122
Gets the steepness of the wave.
Parameters
waveIndex
number
index of the wave to set.
Returns
number
Steepness of the wave.
setWaveAmplitude()
setWaveAmplitude(
waveIndex,val):void
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:130
Sets the amplitude of the wave.
Parameters
waveIndex
number
index of the wave to set.
val
number
Amplitude of the wave.
Returns
void
getWaveAmplitude()
getWaveAmplitude(
waveIndex):number
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:141
Gets the amplitude of the wave.
Parameters
waveIndex
number
index of the wave to set.
Returns
number
Amplitude of the wave.
setWaveLength()
setWaveLength(
waveIndex,val):void
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:149
Sets the length of the wave.
Parameters
waveIndex
number
index of the wave to set.
val
number
Length of the wave.
Returns
void
getWaveLength()
getWaveLength(
waveIndex):number
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:160
Gets the length of the wave.
Parameters
waveIndex
number
index of the wave to set.
Returns
number
Length of the wave.
isOmniWave()
isOmniWave(
waveIndex):boolean
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:168
Query if the wave is an omni-directional wave.
Parameters
waveIndex
number
index of the wave to set.
Returns
boolean
true if the wave is an omni-directional wave, false otherwise.
setOmniWave()
setOmniWave(
waveIndex,isOmni):void
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:176
Sets whether the wave is an omni-directional wave.
Parameters
waveIndex
number
index of the wave to set.
isOmni
boolean
true if the wave is an omni-directional wave, false otherwise.
Returns
void
getOriginX()
getOriginX(
waveIndex):number
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:187
Gets the X coordinate of the wave origin if it is an omni-directional wave.
Parameters
waveIndex
number
index of the wave to set.
Returns
number
X coordinate of the wave origin if it is an omni-directional wave, 0 otherwise.
getOriginZ()
getOriginZ(
waveIndex):number
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:195
Gets the Z coordinate of the wave origin if it is an omni-directional wave.
Parameters
waveIndex
number
index of the wave to set.
Returns
number
Z coordinate of the wave origin if it is an omni-directional wave, 0 otherwise.
setOrigin()
setOrigin(
waveIndex,x,z):void
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:204
Sets the X and Z coordinates of the wave origin if it is an omni-directional wave.
Parameters
waveIndex
number
index of the wave to set.
x
number
X coordinate of the wave origin
z
number
Z coordinate of the wave origin
Returns
void
update()
update():
void
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:216
Update the wave generator.
Returns
void
Implementation of
needUpdate()
needUpdate():
boolean
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:218
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
calcClipmapTileAABB()
calcClipmapTileAABB(
minX,maxX,minZ,maxZ,y,outAABB):void
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:222
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/gerstner_wavegenerator.ts:234
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/gerstner_wavegenerator.ts:247
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/gerstner_wavegenerator.ts:251
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
calcVertexPositionAndNormal()
calcVertexPositionAndNormal(
scope,inPos,outPos,outNormal):void
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:344
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/gerstner_wavegenerator.ts:353
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/gerstner_wavegenerator.ts:358
Check if the wave generator is ok.
Returns
boolean
Implementation of
getHash()
getHash():
string
Defined in: libs/scene/src/render/gerstner_wavegenerator.ts:362
Get the shader hash of the wave generator.
Returns
string