Abstract
We show the applicability of pure functional programming for the construction of modules which create procedural textures for image synthesis. We focus our attention to the construction of generic combinators and transformers of textures, which permit to write texture generators of substantial complexity in a very compact and intuitive manner. We present a concrete package implemented in Clean.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Peter Henderson, Functional Programming, Application and Implementation, Prentice-Hall, (1980). Also: Functional Geometry, Symposium on Lisp and Functional Programming, (1982).
Emmanuel Chailloux, Guy Cousineau, Programming Images in ML, ACM SIGPLAN Workshop on ML and its Applications (1992).
Simon Peyton Jones, S. Finne, Pictures: a Simple Structured Graphic Model, Proceedings, Glasgow Functional Programming Workshop, (1996).
Jerzy Karczmarczuk, Geometric Modelling in Functional Style, Proc., III Latino-Americal Conf. on Functional Programming, Recife, Brazil, (1999).
David S. Ebert, F. Kenton Musgrave, Darwyn Peachey, Ken Perlin, Steven Worley, Texturing and Modeling. A Procedural Approach, AP Professional, (1998).
B. Gibson-Winge, Texture Synthesis, http://www.threedgraphics.com/texsynth.
John C. Hart, Procedural Texturing, Web course, available from the site http://graphics.eecs.wsu.edu/cpts548/procedural/sld0001.htm.
Karl Sims, Artificial Evolution for Computer Graphics, Comp. Graphics 25(4), pp. 319–328, (1991). See also the site http://genarts.com/karl/papers/siggraph91.html.
Conal Elliott, Functional Images, http://research.microsoft.com/~conal/Panwith references, plenty of additional documentation and examples.
Andrew Cooke, Pancito, site http://www.acooke.org/jara/pancito.
Steve Upstill, The RenderMan Companion: A Programmer’s Guide to Realistic Computer Graphics, Addison-Wesley, (1990).
Larry Gritz, Blue Moon Rendering Tools, Exluna Inc., http://www.exluna.com/bmrt/.
Pat Hanrahan, Kekoa Proudfoot, William R. Mark, Svetoslav Tzvetkov, A Real-Time Procedural Shading System for Programmable Graphics Hardware, SIGGRAPH, (2001). See also http://graphics.stanford.edu/projects/shading.
Rinus Plasmaijer, Marko van Eekelen, Concurrent Clean Language Report, Version 1.3, HILT B. V. and University of Nijmegen, (1998). See also http://www.cs.kun.nl/~clean.
Sean Gibb, Peter Graumann, SynTex, Synthetic Realms, Calgary, Canada. Web site http://www.SyntheticRealms.com.
Jules Bloomenthal (ed.), Introduction to Implicit Surfaces, Kaufmann, (1997).
Ken Perlin, http://www.noisemachine.com, see also mrl.nyu.edu/perlin.
Hugo Elias, tutorial, freespace. http://virgin.net/hugo.elias.
G. Ward, A recursive Implementation of the Perlin Noise Function, in Graphic Gems II, ed. James Arvo, AP PROFESSIONAL, pp. 396–401, (1991).
Doris Schattschneider, The Plane Symmetry Groups: Their recognition and notation, American Math. Monthly. 85, pp. 439–450, (1978).
Xah Lee, The Discontinuous Groups of Rotation and Translation in the Plane, Web pages http://www.best.com/~xah/. Contains a good overview of literature.
David E. Joyce, Wallpaper Groups (Plane Symmetry Groups), tutorial. Web site http://aleph0.clarku.edu/~djoyce/home.html.
A. Shubnikov, V. Koptsik, Symmetry in Science and Art, Plenum, (1974).
J. Karczmarczuk, Functional Differentiation of Computer Programs, Journal of Higher Order and Symbolic Computing 14, (2001).
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Karczmarczuk, J. (2002). Functional Approach to Texture Generation. In: Krishnamurthi, S., Ramakrishnan, C.R. (eds) Practical Aspects of Declarative Languages. PADL 2002. Lecture Notes in Computer Science, vol 2257. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45587-6_15
Download citation
DOI: https://doi.org/10.1007/3-540-45587-6_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43092-6
Online ISBN: 978-3-540-45587-5
eBook Packages: Springer Book Archive