Skip to content

caden-parajuli/nim-noisegen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Noisegen - Nim noise generation library

About

Supported noise functions are in the following table. The GPU column marks whether the noise function can be used in a GPU shader (e.g. via shady). Analytic gradients are significantly faster and more accurate to the actual geometry than regular gradients computed by a central difference quotient. Analytic gradients can be used to easily compute surface normals since $\mathbf{n} = \pm\left( \frac{\partial f}{\partial x}(\mathbf{v}), \frac{\partial f}{\partial y}(\mathbf{v}), -1 \right)$ is a normal vector to the surface given by $z = f(x, y)$.

Noise CPU GPU Gradient Analytic Gradient
Perlin ✅︎
Value
Voronoise
OpenSimplex
OpenSimplex2

Implementation Details

The Perlin noise function is based on Ken Perlin's "Improved Noise reference implementation" in Java.

About

A Nim library for noise generation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages