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 fundamental change offers a whole new level of opportunities for real-time graphics programmers. using shaders not only allows you to create unique games and graphics, but it allows you to be far more creative.
Programming Vertex and Pixel Shaders uses a "cookbook" approach to teach beginning to intermediate graphics and game programmers to program shaders in the High-Level Shading Language (HLSL), the primary real0time shading language used in recent game development. The book uses a wide range of examples (over 60) to teach various techniques, ranging from simple real-time lighting to advanced, cutting-edge rendering. The book is broken into eight parts covering introductory material, shadows, high dynamic range lighting, lighting algorithms, vertex texturing, projective texture mapping, environment cube mapping, and advanced reflectance algorithms (Cook-Torrance, Oren-Nayar, Ward, and Ashikhmin-Shirly).
The coverage starts from the beginning, so no existing knowledge of shader programming is required. This 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 learn practical current techniques for programming shaders for next-generation games and graphics!
Part 1 Introduction
Part 2 Lighting Algorithms
Part 3 Advanced Reflectance Algorithms
Part 4 Environment Cube Mapping
Part 5 High Dynamic Range Lighting
Part 6 Project Texture Mapping
Part 7 Shadows
Part 8 Vertex Texturing
Part 9 Shaders as Part of a Graphics Engine