This book provides step-by-step instruction on modern 3D graphics shader programming in OpenGL with C++, along with its theoretical foundations. It is appropriate both for computer science graphics courses and for professionals interested in mastering 3D graphics skills. It has been designed in a 4-color, “teach-yourself” format with numerous examples and detailed explanations. Every shader stage is explored, starting with the basics of modeling, lighting, textures, etc., up through advanced techniques such as tessellation, soft shadows, and generating realistic materials and environments. The book includes companion files with all of the source code, models, textures, skyboxes and normal maps used in the book.
- Covers modern OpenGL 4.0+ shader programming in C++, with instructions for both PC/Windows and Macintosh.
- Illustrates every technique with running code examples. Everything needed to install the libraries, and complete source code for each example is provided and fully explained.
- Includes step-by-step instruction for using each GLSL programmable pipeline stage (vertex, tessellation, geometry, and fragment).
- Explores practical examples for modeling, lighting and shadows (including soft shadows), terrain, and 3D materials such as wood and marble.
- Explains how to optimize code for performance, and use modern development tools such as the NVIDIA® Nsight™ debugger.
- Includes companion files with all of the code, object models, figures, textures, skyboxes and skydomes, height and normal maps used throughout the book.