squareWave

a square wave with configurable duty cycle.

110 total functionsUpdated: Invalid Date

squareWave

a square wave with configurable duty cycle.

Parameters

NameTypeDescription
xf32Input position.
frequencyf32Wave frequency.
amplitudef32Wave amplitude.
phasef32Phase offset.
dutyCyclef32Duty cycle (0-1) for wave on/off ratio.

Returns

f32wave value.

WGSL Code

fn squareWave(x: f32, frequency: f32, amplitude: f32, phase: f32, dutyCycle: f32) -> f32 {
let t = x * frequency + phase;
let tt = fract(t);
return select(0.0, amplitude, tt < dutyCycle);
}

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 { squareWave, getFns } from 'wgsl-fns'
Usage:getFns(['squareWave'])