skip to main content
10.1007/978-3-540-31989-4_23guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Evolution of vertex and pixel shaders

Published: 30 March 2005 Publication History

Abstract

In real-time rendering, objects are represented using polygons or triangles. Triangles are easy to render and graphics hardware is highly optimized for rendering of triangles. Initially, the shading computations were carried out by dedicated hardwired algorithms for each vertex and then interpolated by the rasterizer. Todays graphics hardware contains vertex and pixel shaders which can be reprogrammed by the user. Vertex and pixel shaders allow almost arbitrary computations per vertex respectively per pixel. We have developed a system to evolve such programs. The system runs on a variety of graphics hardware due to the use of NVIDIA's high level Cg shader language. Fitness of the shaders is determined by user interaction. Both fixed length and variable length genomes are supported. The system is highly customizable. Each individual consists of a series of meta commands. The resulting Cg program is translated into the low level commands which are required for the particular graphics hardware.

References

[1]
T. Akenine-Möller and E. Haines. Real-Time Rendering. A K Peters, Natick, MA, 2nd ed., 2002.
[2]
W. Banzhaf, P. Nordin, R. E. Keller, and F. D. Francone. Genetic Programming - An Introduction: On The Automatic Evolution of Computer Programs and Its Applications. Morgan Kaufmann Publishers, San Francisco, CA, 1998.
[3]
NVIDIA Corporation. Nvidia nfinitefx engine: Programmable vertex shaders.
[4]
R. Dawkins. The Blind Watchmaker. W. W. Norton & Company, New York, 1996.
[5]
A. E. Eiben, R. Nabuurs, and I. Booij. The Escher evolver: Evolution to the people. In P. J. Bentley and D. W. Corne, eds., Creative Evolutionary Systems, pp. 425-439. Morgan Kaufmann Publishers, 2001.
[6]
J. D. Foley, A. van Dam, S. K. Feiner, and J. F. Hughes. Computer Graphics: Principles and Practice. 2nd Ed. in C. Addison-Wesley Publishing Company, Reading, MA, 1996.
[7]
J. R. Koza. Genetic Programming. On the Programming of Computers by Means of Natural Selection. The MIT Press, Cambridge, MA, 1992.
[8]
J. R. Koza. Genetic Programming II. Automatic Discovery of Reusable Programs. The MIT Press, Cambridge, MA, 1994.
[9]
J. Loviscach and J. Meyer-Spradow. Genetic programming of vertex shaders. In Proc. of EuroMedia 2003, pp. 29-31, 2003.
[10]
C. Maughan and M. Wloka. Vertex shader introduction. Technical report, NVIDIA Corporation, 2001.
[11]
J. Meyer-Spradow and J. Loviscach. Evolutionary design of BRDFs. In M. Chover, H. Hagen, and D. Tost, eds., Eurographics 2003 Short Paper Proceedings, pp. 301- 306, 2003.
[12]
F. Kenton Musgrave. Genetic textures. In D. S. Ebert, F. Kenton Musgrave, D. Peachey, K. Perlin, and S. Worley, editors, Texturing and Modeling: A Procedural Approach. 2nd Ed., pp. 373-385, Cambridge, 1998. AP Professional.
[13]
P. Nordin. A compiling genetic programming system that directly manipulates the machine code. In K. E. Kinnear, Jr., ed., Advances in Genetic Programming, pp. 311-331, Cambridge, MA, 1994. The MIT Press.
[14]
P. Nordin and W. Banzhaf. An on-line method to evolve behavior and to control a miniature robot in real time with genetic programming. Adaptive Behaviour, 5(2):107-140, 1997.
[15]
NVIDIA. Cg toolkit. user's manual. a developer's guide to programmable graphics. Technical report, NVIDIA Corporation, Santa Clara, CA, 2002.
[16]
K. Perlin and E. M. Hoffert. Hypertexture. SIGGRAPH '89 Conference Proceedings, Computer Graphics, Boston, MA, 23(3):253-262, 1989.
[17]
M. Reinhardt. Evolution von Pixel- und Vertex-Shader Programmen. Projektpraktikum, Universität Würzburg, Institut für Informatik, Lehrstuhl für Informatik II, July 2004.
[18]
S. Rooke. Eons of genetically evolved algorithmic images. In P. J. Bentley and D. W. Corne, eds., Creative Evolutionary Systems, pp. 339-365. Morgan Kaufmann Publishers, 2001.
[19]
A. Rowbottom. Evolutionary art and form. In P. J. Bentley, ed., Evolutionary Design by Computers, pp. 261-277, San Francisco, 1999. Morgan Kaufmann.
[20]
K. Sims. Artificial evolution for computer graphics. Computer Graphics, 25(4):319- 328, 1991.
[21]
K. Sims. Interactive evolution of dynamical systems. In F. J. Varela and P. Bourgine, eds., Toward a practice of autonomous systems: Proc. of the 1st Europ. Conf. on Artificial Life, pp. 171-178, Cambridge, MA, 1992. The MIT Press.
[22]
S. Todd and W. Latham. The mutation and growth of art by computers. In P. J. Bentley, ed., Evolutionary Design by Computers, pp. 221-250, San Francisco, 1999. Morgan Kaufmann.
[23]
M. Wall. GAlib: A C++ Library of Genetic Algorithm Components, Version 2.4. Mechanical Engineering Department, Massachusetts Institute of Technology, 1996.
[24]
A. Watt. 3D Computer Graphics. Addison-Wesley, Harlow, England, 2000.
[25]
M. Witbrock and S. Neil-Reilly. Evolving genetic art. In P. J. Bentley, ed., Evolutionary Design by Computers, pp. 251-259, San Francisco, 1999. Morgan Kaufmann.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
EuroGP'05: Proceedings of the 8th European conference on Genetic Programming
March 2005
380 pages
ISBN:3540254366
  • Editors:
  • Maarten Keijzer,
  • Andrea Tettamanzi,
  • Pierre Collet,
  • Jano Hemert,
  • Marco Tomassini

Sponsors

  • EvoNet

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 30 March 2005

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 25 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media