Documentation / scene / FFTWaveGenerator
Class: FFTWaveGenerator
Defined in: libs/scene/src/render/fft_wavegenerator.ts:140
This class generates a 2D ocean field using the Fast Fourier Transform (FFT) algorithm.
Extends
Disposable
Implements
Constructors
Constructor
new FFTWaveGenerator(
params?):FFTWaveGenerator
Defined in: libs/scene/src/render/fft_wavegenerator.ts:178
Create a new instance of the FFTWaveGenerator class.
Parameters
params?
OceanFieldBuildParams
Ocean field build parameters. If not provided, default parameters will be used.
Returns
FFTWaveGenerator
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
alignment
Get Signature
get alignment():
number
Defined in: libs/scene/src/render/fft_wavegenerator.ts:305
Gets the wave alighment
Returns
number
Set Signature
set alignment(
val):void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:308
Parameters
val
number
Returns
void
wind
Get Signature
get wind():
Immutable<Vector2>
Defined in: libs/scene/src/render/fft_wavegenerator.ts:315
Gets the wind vector
Returns
Immutable<Vector2>
Set Signature
set wind(
val):void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:318
Parameters
val
Immutable<Vector2>
Returns
void
foamWidth
Get Signature
get foamWidth():
number
Defined in: libs/scene/src/render/fft_wavegenerator.ts:326
Gets the foam width
Returns
number
Set Signature
set foamWidth(
val):void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:329
Parameters
val
number
Returns
void
foamContrast
Get Signature
get foamContrast():
number
Defined in: libs/scene/src/render/fft_wavegenerator.ts:336
Gets the foam contrast
Returns
number
Set Signature
set foamContrast(
val):void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:339
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
clone()
clone():
FFTWaveGenerator
Defined in: libs/scene/src/render/fft_wavegenerator.ts:286
Create a new instance from this
Returns
FFTWaveGenerator
The created instance
Implementation of
getWaveLength()
getWaveLength(
cascade):number
Defined in: libs/scene/src/render/fft_wavegenerator.ts:346
Gets the wave length for the specified cascade
Parameters
cascade
number
Returns
number
setWaveLength()
setWaveLength(
cascade,length):void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:354
Sets the wave length for the specified cascade
Parameters
cascade
number
The cascade index
length
number
The new wave length for the specified cascade
Returns
void
getWaveStrength()
getWaveStrength(
cascade):number
Defined in: libs/scene/src/render/fft_wavegenerator.ts:361
Gets the wave strength for the specified cascade
Parameters
cascade
number
Returns
number
setWaveStrength()
setWaveStrength(
cascade,strength):void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:369
Sets the wave strength for the specified cascade
Parameters
cascade
number
The cascade index
strength
number
The new wave strength for the specified cascade
Returns
void
getWaveCroppiness()
getWaveCroppiness(
cascade):number
Defined in: libs/scene/src/render/fft_wavegenerator.ts:376
Gets the wave croppiness for the specified cascade
Parameters
cascade
number
Returns
number
setWaveCroppiness()
setWaveCroppiness(
cascade,croppiness):void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:384
Sets the wave croppiness for the specified cascade
Parameters
cascade
number
The cascade index
croppiness
number
The new wave croppiness for the specified cascade
Returns
void
update()
update(
time):void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:643
Update the wave generator.
Parameters
time
number
Time in seconds.
Returns
void
Implementation of
needUpdate()
needUpdate():
boolean
Defined in: libs/scene/src/render/fft_wavegenerator.ts:671
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
setupUniforms()
setupUniforms(
scope,uniformGroup):void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:1109
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/fft_wavegenerator.ts:1128
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
calcFragmentNormal()
calcFragmentNormal(
scope,xz,_vertexNormal):PBShaderExp
Defined in: libs/scene/src/render/fft_wavegenerator.ts:1179
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):PBShaderExp
Defined in: libs/scene/src/render/fft_wavegenerator.ts:1212
Calculate fragment normal and foam.
Parameters
scope
PBInsideFunctionScope
Global scope of the shader program.
xz
PBShaderExp
XZ position.
Returns
PBShaderExp
Implementation of
WaveGenerator.calcFragmentNormalAndFoam
isOk()
isOk():
boolean
Defined in: libs/scene/src/render/fft_wavegenerator.ts:1279
Check if the wave generator is ok.
Returns
boolean
Implementation of
applyWaterBindGroup()
applyWaterBindGroup(
bindGroup):void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:1283
Apply water bind group.
Parameters
bindGroup
BindGroup
Bind group to apply.
Returns
void
Implementation of
WaveGenerator.applyWaterBindGroup
calcClipmapTileAABB()
calcClipmapTileAABB(
minX,maxX,minZ,maxZ,y,outAABB):void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:1302
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
getHash()
getHash():
string
Defined in: libs/scene/src/render/fft_wavegenerator.ts:1308
Get the shader hash of the wave generator.
Returns
string
Implementation of
onDispose()
protectedonDispose():void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:1311
Returns
void
Overrides
Disposable.onDispose