Documentation / scene / FFTWaveGenerator
Class: FFTWaveGenerator
Defined in: libs/scene/src/render/fft_wavegenerator.ts:145
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:183
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:6107
Returns
boolean
Implementation of
Inherited from
Disposable.disposed
alignment
Get Signature
get alignment():
number
Defined in: libs/scene/src/render/fft_wavegenerator.ts:310
Gets the wave alighment
Returns
number
Set Signature
set alignment(
val):void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:313
Parameters
val
number
Returns
void
wind
Get Signature
get wind():
Immutable<Vector2>
Defined in: libs/scene/src/render/fft_wavegenerator.ts:320
Gets the wind vector
Returns
Immutable<Vector2>
Set Signature
set wind(
val):void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:323
Parameters
val
Immutable<Vector2>
Returns
void
foamWidth
Get Signature
get foamWidth():
number
Defined in: libs/scene/src/render/fft_wavegenerator.ts:331
Gets the foam width
Returns
number
Set Signature
set foamWidth(
val):void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:334
Parameters
val
number
Returns
void
foamContrast
Get Signature
get foamContrast():
number
Defined in: libs/scene/src/render/fft_wavegenerator.ts:341
Gets the foam contrast
Returns
number
Set Signature
set foamContrast(
val):void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:344
Parameters
val
number
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
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
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
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
Inherited from
Disposable.dispatchEvent
dispose()
dispose():
void
Defined in: libs/base/dist/index.d.ts:6108
Dispose the wave generator.
Returns
void
Implementation of
Inherited from
Disposable.dispose
clone()
clone():
FFTWaveGenerator
Defined in: libs/scene/src/render/fft_wavegenerator.ts:291
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:351
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:359
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:366
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:374
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:381
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:389
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:653
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:681
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:1116
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:1133
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:1184
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:1260
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:1335
Check if the wave generator is ok.
Returns
boolean
Implementation of
applyWaterBindGroup()
applyWaterBindGroup(
bindGroup):void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:1339
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:1358
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:1364
Get the shader hash of the wave generator.
Returns
string
Implementation of
onDispose()
protectedonDispose():void
Defined in: libs/scene/src/render/fft_wavegenerator.ts:1367
Returns
void
Overrides
Disposable.onDispose