ABSTRACT

This chapter is a high-level overview of shading (Sh) and its relationship to other realtime shading and graphics processing unit (GPU) programming languages and describes in more detail the features of modem programmable GPUs and the abstraction of their computational model that Sh uses. In a supercomputer, multiple GPUs can be used and their digital video outputs combined using special-purpose compositing hardware. Shading languages developed specifically for programmable GPUs include the OpenGL Shading Language, the Stanford Real-Time Shading Language, Microsoft’s High-Level Shading Language and NVIDIA’s Cg. The chapter discusses the stream processing computational model and other programming systems that support it, and provides some background on metaprogramming in general and how Sh relates to other forms of metaprogramming. The existing GPU shading languages are all very similar semantically, differing mostly in minor syntactic issues. The chapter also presents an overview of the key concepts discussed in this book.