-
Recent Posts
Recent Comments
Archives
Categories
Meta
Author Archives: briansharpe
Analytical Noise Derivatives
Procedural noise functions return smoothly varying results as calculated from spatial coordinates (as the spatial coordinate changes so does the value). The derivatives of procedural noise functions can be useful in many different ways. eg – analytical bump/normal mapping – … Continue reading
Posted in Uncategorized
5 Comments
Adding a 4th dimension
In a previous post I describe a fast 32-bit hash function which I’ve been using as the basis for all noises documented on this site. Recently I have made some changes to it resulting in… Improved flexibility A slight improvement … Continue reading
Posted in Uncategorized
Leave a comment
Modifications to Classic Perlin Noise
I have been working with analytical noise derivatives lately and it turns out the analytical derivative of classic perlin noise can get rather involved. Ken Perlin solved this problem in simplex noise by using radial kernel summation rather than interpolation … Continue reading
Posted in Uncategorized
5 Comments
Hermite Noise
Quintic Hermite Interpolation allows us to interpolate a value with respect to 3 variables. Its position, velocity and acceleration. In mathematical terms this translates to the function and its 1st+2nd derivative. More information on Quintic Hermite Interpolation can be found … Continue reading
Posted in Uncategorized
Leave a comment
Simplex Noise
In 2001 Ken Perlin introduced a new type of gradient noise called Simplex Noise. The document can be found here. It is essentially his original gradient noise mapped onto a simplex grid. The term “Simplex” means the simplest possible primitive … Continue reading
Posted in Uncategorized
19 Comments
PolkaDot, Star and Cubist Noises
I’ve uploaded three new noise types to the GitHub repository. The first is a PolkaDot style noise in both 2D and 3D which generates smooth falloff dots at random sizes, intensities and locations over a uniform grid. ( There’s even … Continue reading
Posted in Uncategorized
Leave a comment
Optimized Artifact-Free GPU Cellular Noise
Cellular Noise is a noise basis which mimics a voronoi diagram. It was first proposed by Steven Worley in his 1996 paper “A Cellular Texture Basis Function” and has been used extensively by the graphics community ever since. Stefan Gustavson … Continue reading
Posted in Uncategorized
7 Comments
GitHub code repository
I always like it when people provide clean implementations of their work which can be dropped easily into a project without much programmer effort. Stefan Gustavson and Ian McEwan have done this at webgl-noise so I’ve decided to take their … Continue reading
Posted in Uncategorized
Leave a comment
A fast and simple 32bit floating point hash function
In a previous post I reviewed two existing floating point hash functions which are suitable for use in fragment shaders. These were the BlumBlumShub and Permutation Polynomial hash functions used in MNoise and WebGLNoise. If curious, here is a link … Continue reading
Posted in Uncategorized
4 Comments
Useful Interpolation Functions for Noise Development
Interpolation functions allow us to calculate a transition between discreet points. They are used in noise development. Here are some common types. Smooth interpolation of a linear input from 0.0 to 1.0 This is a very common interpolation function. It … Continue reading
Posted in Uncategorized
1 Comment