JavaScript EditorFree JavaScript Editor     Ajax Editor 



Main Page
Previous Page
Next Page

15.9. Further Information

Ken Perlin has a tutorial and history of the noise function as well as a recent reference implementation in the Java programming language at his Web site (http://www.noisemachine.com). A lot of other interesting things are available on Ken's home page at NYU (http://mrl.nyu.edu/~perlin). His paper, An Image Synthesizer, appeared in the 1985 SIGGRAPH proceedings, and his improvements to the original algorithm were published in the paper Improving Noise as part of SIGGRAPH 2002. He also described a clever method for combining two small 3D textures to get a large 3D Perlin-like noise function in the article Implementing Improved Perlin Noise in the book GPU Gems.

The book Texturing & Modeling: A Procedural Approach, Third Edition, by David S. Ebert et al. (2000) contains several excellent discussions on noise, and that book's Web site, http://www.texturingandmodeling.com contains C source code for a variety of noise functions that appear in the book, including Perlin's original noise function. Perlin has written a chapter for that book that provides more depth on his noise algorithm, and Ken Musgrave explores breathtakingly beautiful mathematical worlds based on a variety of noise functions. Planet-building software built on these ideas is available from Musgrave's company, Pandromeda, at http://www.pandromeda.com. In Chapter 2 of that book, Darwyn Peachey describes a variety of noise functions, and in Chapter 7, David Ebert describes an approach similar to the 3D texturing approach described previously. Advanced RenderMan: Creating CGI for Motion Pictures by Tony Apodaca and Larry Gritz (1999) also contains a discussion of noise and presents some excellent noise-based RenderMan shaders.

  1. Apodaca, Anthony A., and Larry Gritz, Advanced RenderMan: Creating CGI for Motion Pictures, Morgan Kaufmann Publishers, San Francisco, 1999. http://www.renderman.org/RMR/Books/arman/materials.html

  2. Ebert, David S., John Hart, Bill Mark, F. Kenton Musgrave, Darwyn Peachey, Ken Perlin, and Steven Worley, Texturing and Modeling: A Procedural Approach, Third Edition, Morgan Kaufmann Publishers, San Francisco, 2002. http://www.texturingandmodeling.com

  3. Hart, John C., Perlin Noise Pixel Shaders, ACM SIGGRAPH/Eurographics Workshop on Graphics Hardware, pp. 8794, August 2001. http://graphics.cs.uiuc.edu/~jch/papers/pixelnoise.pdf

  4. Perlin, Ken, An Image Synthesizer, Computer Graphics (SIGGRAPH '85 Proceedings), pp. 287296, July 1985.

  5. Perlin, Ken, Implementing Improved Perlin Noise in GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics, Editor: Randima Fernando, Addison-Wesley, Reading, Massachusetts, 2004. http://developer.nvidia.com/object/gpu_gems_home.html

  6. Perlin, Ken, Improving Noise, Computer Graphics (SIGGRAPH 2002 Proceedings), pp. 681682, July 2002. http://mrl.nyu.edu/perlin/paper445.pdf

  7. Perlin, Ken, personal Web site. http://www.noisemachine.com

  8. Perlin, Ken, personal Web site. http://mrl.nyu.edu/~perlin


Previous Page
Next Page




JavaScript EditorAjax Editor     JavaScript Editor