Perlin Noise Pixel Shaders
Abstract
While working on a method for supporting real-time procedural solid texturing, we developed a general purpose multipass pixel shader to generate the Perlin noise function. We implemented this algorithm on SGI workstations using accelerated OpenGL PixelMap and PixelTransfer operations, achieving a rate of 2.5 Hz for a 256x256 image. We also implemented the noise algorithm on the NVidia GeForce2 using register combiners. Our register combiner implementation required 375 passes, but ran at 1.3 Hz. This exercise illustrated a variety of abilities and shortcomings of current graphics hardware. The paper concludes with an exploration of directions for expanding pixel shading hardware to further support iterative multipass pixel-shader applications.
BibTeX
@inproceedings {10.2312:EGGH:EGGH01:087-094,
booktitle = {Eurographics/SIGGRAPH Graphics Hardware Workshop 2001},
editor = {Kurt Akeley and Ulrich Neumann},
title = {{Perlin Noise Pixel Shaders}},
author = {Hart, John C.},
year = {2001},
publisher = {The Eurographics Association},
ISSN = {1727-3471},
ISBN = {158113407X},
DOI = {10.2312/EGGH/EGGH01/087-094}
}
booktitle = {Eurographics/SIGGRAPH Graphics Hardware Workshop 2001},
editor = {Kurt Akeley and Ulrich Neumann},
title = {{Perlin Noise Pixel Shaders}},
author = {Hart, John C.},
year = {2001},
publisher = {The Eurographics Association},
ISSN = {1727-3471},
ISBN = {158113407X},
DOI = {10.2312/EGGH/EGGH01/087-094}
}