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 hash1D fn noiseWave(x: f32, frequency: f32, amplitude: f32, seed: f32) -> f32 { // Create interpolated noise let t = x * frequency; let floorT = floor(t); let fractT = fract(t); // Get four noise values and interpolate between them let n0 = hash1D(floorT + seed); let n1 = hash1D(floorT + 1.0 + seed); // Smooth interpolation let u = fractT * fractT * (3.0 - 2.0 * fractT); // Smoothstep return mix(n0, n1, u) * amplitude; }