A simple unpredictable pseudo random number generator
SIAM Journal on Computing
Algorithms for solid noise synthesis
SIGGRAPH '89 Proceedings of the 16th annual conference on Computer graphics and interactive techniques
Spot noise texture synthesis for data visualization
Proceedings of the 18th annual conference on Computer graphics and interactive techniques
Real-time programmable shading
I3D '95 Proceedings of the 1995 symposium on Interactive 3D graphics
Journal of Computational Physics
A cellular texture basis function
SIGGRAPH '96 Proceedings of the 23rd annual conference on Computer graphics and interactive techniques
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
Serial Correlation in the Generation of Pseudo-Random Numbers
Journal of the ACM (JACM)
SIGGRAPH '85 Proceedings of the 12th annual conference on Computer graphics and interactive techniques
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware
RenderMan Companion: A Programmer's Guide to Realistic Computer Graphics
RenderMan Companion: A Programmer's Guide to Realistic Computer Graphics
Proceedings of the 29th annual conference on Computer graphics and interactive techniques
Texturing and Modeling: A Procedural Approach
Texturing and Modeling: A Procedural Approach
Tile-based texture mapping on graphics hardware
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware
Real-time procedural volumetric fire
Proceedings of the 2007 symposium on Interactive 3D graphics and games
Pseudorandom number generation on the GPU
GH '06 Proceedings of the 21st ACM SIGGRAPH/EUROGRAPHICS symposium on Graphics hardware
Parallel white noise generation on a GPU via cryptographic hash
Proceedings of the 2008 symposium on Interactive 3D graphics and games
ACM SIGGRAPH 2008 papers
Dynamic solid textures for real-time coherent stylization
Proceedings of the 2009 symposium on Interactive 3D graphics and games
Directable, high-resolution simulation of fire on the GPU
ACM SIGGRAPH 2009 papers
Procedural noise using sparse Gabor convolution
ACM SIGGRAPH 2009 papers
Hardware-accelerated gradient noise for graphics
Proceedings of the 19th ACM Great Lakes symposium on VLSI
Stochastic path tracing on consumer graphics cards
Proceedings of the 24th Spring Conference on Computer Graphics
AnySL: efficient and portable shading for ray tracing
Proceedings of the Conference on High Performance Graphics
GPU random numbers via the tiny encryption algorithm
Proceedings of the Conference on High Performance Graphics
Pseudorandom noise for real-time volumetric rendering of fire in a production system
SPBG'08 Proceedings of the Fifth Eurographics / IEEE VGTC conference on Point-Based Graphics
Interactive fractal compositions
Proceedings of the 11th ACM SIGGRAPH International Conference on Virtual-Reality Continuum and its Applications in Industry
Hi-index | 0.00 |
Perlin noise is one of the primary tools responsible for the success of procedural shading in production rendering. It breaks the crisp computer generated look by adding apparent randomness that is controllable and repeatable. Both Perlin's original noise algorithm and his later improved noise were designed to run efficiently on a CPU. These algorithms do not map as well to the design and resource limits of the typical GPU. We propose two modifications to Perlin's improved noise that make it much more suitable for GPU implementation, allowing faster direct computation. The modified noise can be totally evaluated on the GPU without resorting to texture accesses or "baked" into a texture with consistent appearance between textured and computed noise. However, it is most useful for 3D and 4D noise, which cannot easily be stored in reasonably-sized textures. We present one implementation of our modified noise using computation or direct texturing for 1D and 2D noise, and a procedural combination of 2D textures for the 3D noise.