perm4

function for Perlin noise.

110 total functionsUpdated: Invalid Date

perm4

function for Perlin noise.

Parameters

NameTypeDescription
xvec4<f32>Input 4D vector.

Returns

vec4<f32>4D vector.

Dependencies

WGSL Code

//! requires mod289
fn perm4(x: vec4f) -> vec4f {
return mod289(((x * 34.) + 1.) * x);
}

Other functions in Noise & Procedural

hash22

a 2D hash from a 2D input vector for procedural generation.

noise2D

2D Perlin-style noise for procedural textures and patterns.

fbm2D

Brownian Motion - combines multiple octaves of noise for complex patterns.

fbm3D

Brownian Motion - combines multiple octaves of noise for complex patterns.

hash1D

a 1D hash value from an input value for noise generation.

hash31

a 1D hash value from a 3D input vector.

hash3D

a 3D hash vector from a 3D input for displacement effects.

noise3D

3D noise using trilinear interpolation.

warpNoise3D

3D warping noise using fractal Brownian motion.

pcg

and fast integer hash using PCG algorithm.

pcg2d

PCG hash function for fast procedural generation.

pcg3d

PCG hash function for volumetric procedural generation.

pcg4d

PCG hash function for advanced procedural generation.

xxhash32

integer hash using xxHash algorithm.

xxhash322d

xxHash for strong integer hashing in 2D.

xxhash323d

xxHash for strong integer hashing in 3D.

xxhash324d

xxHash for strong integer hashing in 4D.

rand11Sin

float from 1D input using sine (platform dependent).

rand22Sin

float from 2D input using sine (platform dependent).

valueNoise1D

1D value noise using random interpolation.

valueNoise2D

2D value noise using smooth interpolation.

mod289

289 operation for Perlin noise.

valueNoise3D

value noise using permutation tables.

perlinNoise2D

Perlin noise implementation.

perlinNoise3D

Perlin noise implementation.

simplexNoise2D

simplex noise implementation for efficient 2D procedural generation.

simplexNoise3D

simplex noise implementation for volumetric procedural generation.

simplexNoise4D

simplex noise implementation for high-quality procedural generation.

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