Realism is no longer the goal for all applications of interactive computer graphics. Because of the flexibility of programmable graphics hardware, we no longer have to settle for the classic "look" of computer graphics. A high-level procedural language such as the OpenGL Shading Language enables artists and practitioners to express algorithms for rendering in more artistic styles such as pen-and-ink, woodcut, and paints. A procedural hatching shader was presented and described to illustrate how such rendering can be accomplished. Various styles of technical illustration can be done interactively, as shown by the Gooch shader described in this chapter. It is also possible to write shaders that assist in the visualization of mathematical functions, as demonstrated by the Mandelbrot and Julia set shaders.
The history of human art shows that there is an endless variety of artistic styles. The OpenGL Shading Language can be used to create shaders that emulate some of these styles and perhaps to invent new ones.