Until recently, the major concern in the development of new graphics hardware has been to increase the performance of the traditional rendering pipeline. Today, graphics accelerators with a performance of several million textured, lit triangles per second are within reach even for the low end. As a consequence, the focus is beginning to shift away from higher performance towards higher quality renderings and an increased feature set . Traditionally hardware renderers only support the Phong lighting model in combination with Gouraud shading, which means that the actual Phong lighting equation is evaluated per vertex, and simple linear interpolations is used for shading pixels. This method is relatively easy to implement in hardware, but for a moderately tesselated surface the drawbacks of Gouraud shading as diffused, crawling highlights and Mach banding become evident . However, consumer-level graphics hardware is rapidly becoming programmable at both the vertex processing and the fragment processing stage. This allows to write custom shading algorithms - so-called shaders - which evaluate a shading program per-pixel in real-time. These shading algorithms can more realistically model the enormous variety of materials and lighting effects that exist in the real world. In this paper we will develop shading techniques which run in one rendering pass on advanced graphics accelerators.