When newer graphics cards started offering a programming interface to their graphics-processing unit (GPU), there was a fundamental change from fixed-function to programmable graphics hardware. This evolution offers a completely new level of opportunities for real-time graphics programmers. Using shaders not only allows them to create unique games and graphics, but it allows them to be far more creative. Programming Vertex and Pixel Shaders provides intermediate and advanced graphics and game programmers with a definitive guide to shader programming. It uses a wide variety of examples throughout to teach various techniques, ranging from simple real-time lighting to advanced, cutting-edge rendering. These topics include spherical harmonics, Uberlicht, and high-dynamic range lighting. The book covers DirectX vertex and pixel shader programming with the vertex shader version vs_3_0 and the pixel shader version ps_3_0 in shader assembly, and the DirectX High-Level Shading Language (HLSL). Coverage starts from the beginning, so no existing knowledge of shader programming is required. The book does assume a basic understanding of the math typically used in a game engine and an intermediate understanding of the Direct3D API. This is the one resource developers need to program advanced shaders for next generation games and graphics!