Parameters
Name | Type | Description |
---|---|---|
x | f32 | Input position. |
frequency | f32 | Wave frequency. |
amplitude | f32 | Wave amplitude. |
seed | f32 | Random seed for noise generation. |
Returns
f32wave value.
Dependencies
WGSL Code
//! requires hash1Dfn noiseWave(x: f32, frequency: f32, amplitude: f32, seed: f32) -> f32 {// Create interpolated noiselet t = x * frequency;let floorT = floor(t);let fractT = fract(t);// Get four noise values and interpolate between themlet n0 = hash1D(floorT + seed);let n1 = hash1D(floorT + 1.0 + seed);// Smooth interpolationlet u = fractT * fractT * (3.0 - 2.0 * fractT); // Smoothstepreturn mix(n0, n1, u) * amplitude;}