elasticWave

an elastic wave with exponential decay and sinusoidal oscillation.

110 total functionsUpdated: Invalid Date

elasticWave

an elastic wave with exponential decay and sinusoidal oscillation.

Parameters

NameTypeDescription
xf32Input position along the wave.
amplitudef32Wave amplitude multiplier.
frequencyf32Wave frequency.
decayf32Exponential decay factor.
phasef32Phase offset for the wave.

Returns

f32wave value.

WGSL Code

fn elasticWave(x: f32, amplitude: f32, frequency: f32, decay: f32, phase: f32) -> f32 {
let d = max(0.001, decay);
let decayTerm = exp(-d * x);
let oscTerm = sin(frequency * x * 6.28318 + phase);
return amplitude * decayTerm * oscTerm;
}

About wgsl-fns

A JavaScript library providing WGSL utility functions as strings for WebGPU shader development. Includes mathematical utilities, noise generation, signed distance fields, and color manipulation functions.

Install:npm install wgsl-fns
Import:import { elasticWave, getFns } from 'wgsl-fns'
Usage:getFns(['elasticWave'])