Stefan Gustavson
Department of Science and Technology, Linköping University, Sweden
Download article![](/images/PDF_24.png)
Published in: Proceedings of SIGRAD 2013; Visual Computing; June 13-14; 2013; Norrköping; Sweden
Linköping Electronic Conference Proceedings 94:6, p. 41-46
Published: 2013-11-04
ISBN: 978-91-7519-455-4
ISSN: 1650-3686 (print), 1650-3740 (online)
Procedural textures have long been a staple of off-line rendering; and impressive creative results have been accomplished by using procedural methods to their advantage. As GPU speeds and computational capabilities continue to increase; procedural texturing will likely become a useful tool also for real time rendering. In fact; it is already possible to generate procedural patterns of considerable complexity at real time frame rates on a modern GPU. Even on current (2013) low-end and mobile GPUs; the programmable shading system offers considerable processing power that often remains largely unused. Such untapped resources could be used for procedural patterns and procedural geometry computed entirely on the GPU.
This article presents the state of the art in the field. Most of this is yet to be implemented in commercial projects like games; VR and visualization applications. Code for the shader examples in this article is available under permissive open source licenses or as public domain software and is collected on the address:
[1] D. S. Ebert; F. K. Musgrave; D. Peachey; K. Perlin; and S. Worley. Texturing and Modeling: A Procedural Approach. Morgan Kaufmann Publishers Inc.; San Francisco; CA; USA; 3rd edition; 2002.
[2] A. R. Fernandes and B. Oliveira. Gpu tessellation: We still have a LOD of terrain to cover. In P. Cozzi and C. Riccio; editors; OpenGL Insights; pages 145–162.
CRC Press; 2012.
[3] S. F. Frisken; R. N. Perry; A. P. Rockwood; and T. R. Jones. Adaptively sampled distance fields: a general representation of shape for computer graphics. In Proceedings of the 27th annual conference on Computer
graphics and interactive techniques; SIGGRAPH ’00; pages 249–254; New York; NY; USA; 2000. ACM
Press/Addison-Wesley Publishing Co.
[4] C. Green. Improved alpha-tested magnification for vector textures and special effects. In ACM SIGGRAPH 2007 courses; SIGGRAPH ’07; pages 9–18; New York; NY; USA; 2007. ACM.
[5] S. Gustavson. 2D shape rendering by distance fields. In P. Cozzi and C. Riccio; editors; OpenGL Insights; pages 173–181. CRC Press; 2012.
[6] S. Gustavson. Procedural textures in GLSL. In P. Cozzi and C. Riccio; editors; OpenGL Insights; pages 105–120. CRC Press; 2012.
[7] S. Gustavson and R. Strand. Anti-aliased euclidean distance transform. Pattern Recogn. Lett.; 32(2):252–257; Jan. 2011.
[8] P. Hanrahan and J. Lawson. A language for shading and lighting calculations. In Proceedings of the 17th annual conference on Computer graphics and interactive techniques; SIGGRAPH ’90; pages 289–298; New York; NY; USA; 1990. ACM.
[9] I. McEwan; D. Sheets; M. Richardson; and S. Gustavson. Efficient computational noise in GLSL. Journal of Graphics Tools; 16(2):85–94; 2012.
[10] K. Perlin. An image synthesizer. SIGGRAPH Comput. Graph.; 19(3):287–296; July 1985.
[11] S. Upstill. RenderMan Companion: A Programmer’s Guide to Realistic Computer Graphics. Addison-Wesley Longman Publishing Co.; Inc.; Boston; MA; USA;
1989.
[12] S.Worley. A cellular texture basis function. In Proceedings of the 23rd annual conference on Computer graphics and interactive techniques; SIGGRAPH ’96; pages 291–294; New York; NY; USA; 1996. ACM.