“Programming Vertex, Geometry, and Pixel Shaders” by Wolfgang Engel, Jack Hoxley, Ralf Kornmann, Niko Suni and Jason Zink is free to read online. This book is intended for people that have some background in DirectX8 or DirectX9 programming and want to upgrade their knowledge to DirectX 10.
In “Introduction” section, Ralf Kornmann provides an introduction to Direct3D 10 and provides a discussion of the new features that are at your disposal. In addition to an extensive description of Direct3D 10, a discussion of the differences between Direct3D 9 and 10 is provided.
In “Environmental Effects” section, Jason Zink introduces and discusses a series of techniques for adding realism and complexity to a given scene rendering. The topics covered include screen space ambient occlusion, several forms of environment mapping, and dynamic GPU based particle systems.
In “Lighting” section, Jack Hoxley provides a thorough treatment of the various concepts behind modern lighting techniques. Beginning with an examination of the basic theory behind lighting and advancing through the most recent research in realtime rendering, this section is an excellent source of information and a prime resource on the topic.
In “Shadows” section, Niko Suni introduces the major techniques for generating renderings with shadows in this section. Starting with shadow volumes, then advancing to shadow mapping and ray traced shadows, this section will provide an excellent introduction to the theory behind shadow rendering.
In “Level Of Detail Techniques” section, Niko Suni investigates several aspects of how level of detail can be implemented. Concepts for managing scene level of detail are presented, followed by per-object level of detail with tesellation techniques.
In “Procedural Synthesis” section, Niko Suni presents various methods of generating procedural content in the pixel shader as well as some general considerations for procedural content generation.
In “Post Processing Pipeline” section, Wolfgang Engel provides a complete discussion of post processing in a realtime environment. Starting with the basic concepts and advancing through more advanced techniques and even providing several commonly used techniques, this is a mandatory section for anyone entering the post processing arena.
Table of Contents
- Environmental Effects
- Level Of Detail Techniques
- Procedural Synthesis
- Post Processing Pipeline
Link: Read online