Skip to main content

Evolution of Vertex and Pixel Shaders

  • Conference paper
Genetic Programming (EuroGP 2005)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3447))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Akenine-Möller, T., Haines, E.: Real-Time Rendering, 2nd edn. A K Peters, Natick (2002)

    Google Scholar 

  2. Banzhaf, W., Nordin, P., Keller, R.E., Francone, F.D.: Genetic Programming - An Introduction: On The Automatic Evolution of Computer Programs and Its Applications. Morgan Kaufmann Publishers, San Francisco (1998)

    MATH  Google Scholar 

  3. NVIDIA Corporation. Nvidia nfinitefx engine: Programmable vertex shaders

    Google Scholar 

  4. Dawkins, R.: The Blind Watchmaker. W. W. Norton & Company, New York (1996)

    Google Scholar 

  5. Eiben, A.E., Nabuurs, R., Booij, I.: The Escher evolver: Evolution to the people. In: Bentley, P.J., Corne, D.W. (eds.) Creative Evolutionary Systems, pp. 425–439. Morgan Kaufmann Publishers, San Francisco (2001)

    Google Scholar 

  6. Foley, J.D., van Dam, A., Feiner, S.K., Hughes, J.F.: Computer Graphics: Principles and Practice, 2nd edn. in C. Addison-Wesley Publishing Company, Reading (1996)

    MATH  Google Scholar 

  7. Koza, J.R.: Genetic Programming. On the Programming of Computers by Means of Natural Selection. The MIT Press, Cambridge (1992)

    MATH  Google Scholar 

  8. Koza, J.R.: Genetic Programming II. Automatic Discovery of Reusable Programs. The MIT Press, Cambridge (1994)

    MATH  Google Scholar 

  9. Loviscach, J., Meyer-Spradow, J.: Genetic programming of vertex shaders. In: Proc. of EuroMedia 2003, pp. 29–31 (2003)

    Google Scholar 

  10. Maughan, C., Wloka, M.: Vertex shader introduction. Technical report, NVIDIA Corporation (2001)

    Google Scholar 

  11. Meyer-Spradow, J., Loviscach, J.: Evolutionary design of BRDFs. In: Chover, M., Hagen, H., Tost, D. (eds.) Eurographics 2003 Short Paper Proceedings, pp. 301–306 (2003)

    Google Scholar 

  12. Kenton Musgrave, F.: Genetic textures. In: Ebert, D.S., Kenton Musgrave, F., Peachey, D., Perlin, K., Worley, S. (eds.) Texturing and Modeling: A Procedural Approach, 2nd edn., Cambridge, pp. 373–385. AP Professional (1998)

    Google Scholar 

  13. Nordin, P.: A compiling genetic programming system that directly manipulates the machine code. In: Kinnear Jr., K.E. (ed.) Advances in Genetic Programming, pp. 311–331. The MIT Press, Cambridge (1994)

    Google Scholar 

  14. Nordin, P., Banzhaf, W.: 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)

    Article  Google Scholar 

  15. NVIDIA. Cg toolkit. user’s manual. a developer’s guide to programmable graphics. Technical report, NVIDIA Corporation, Santa Clara, CA (2002)

    Google Scholar 

  16. Perlin, K., Hoffert, E.M.: Hypertexture. In: SIGGRAPH 1989 Conference Proceedings, Computer Graphics, Boston, MA, vol. 23(3), pp. 253–262 (1989)

    Google Scholar 

  17. Reinhardt, M.: Evolution von Pixel- und Vertex-Shader Programmen. Projektpraktikum, Universität Würzburg, Institut für Informatik, Lehrstuhl für Informatik II (July 2004)

    Google Scholar 

  18. Rooke, S.: Eons of genetically evolved algorithmic images. In: Bentley, P.J., Corne, D.W. (eds.) Creative Evolutionary Systems, pp. 339–365. Morgan Kaufmann Publishers, San Francisco (2001)

    Google Scholar 

  19. Rowbottom, A.: Evolutionary art and form. In: Bentley, P.J. (ed.) Evolutionary Design by Computers, pp. 261–277. Morgan Kaufmann, San Francisco (1999)

    Google Scholar 

  20. Sims, K.: Artificial evolution for computer graphics. Computer Graphics 25(4), 319–328 (1991)

    Article  MathSciNet  Google Scholar 

  21. Sims, K.: Interactive evolution of dynamical systems. In: Varela, F.J., Bourgine, P. (eds.) Toward a practice of autonomous systems: Proc. of the 1st Europ. Conf. on Artificial Life, pp. 171–178. The MIT Press, Cambridge (1992)

    Google Scholar 

  22. Todd, S., Latham, W.: The mutation and growth of art by computers. In: Bentley, P.J. (ed.) Evolutionary Design by Computers, pp. 221–250. Morgan Kaufmann, San Francisco (1999)

    Google Scholar 

  23. Wall, M.: GAlib: A C++ Library of Genetic Algorithm Components, Version 2.4. Mechanical Engineering Department, Massachusetts Institute of Technology (1996)

    Google Scholar 

  24. Watt, A.: 3D Computer Graphics. Addison-Wesley, Harlow (2000)

    Google Scholar 

  25. Witbrock, M., Neil-Reilly, S.: Evolving genetic art. In: Bentley, P.J. (ed.) Evolutionary Design by Computers, pp. 251–259. Morgan Kaufmann, San Francisco (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ebner, M., Reinhardt, M., Albert, J. (2005). Evolution of Vertex and Pixel Shaders. In: Keijzer, M., Tettamanzi, A., Collet, P., van Hemert, J., Tomassini, M. (eds) Genetic Programming. EuroGP 2005. Lecture Notes in Computer Science, vol 3447. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31989-4_23

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-31989-4_23

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25436-2

  • Online ISBN: 978-3-540-31989-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics