Computer Graphics Programming in OpenGL With C++
- 5h 14m
- John Clevenger, V. Scott Gordon
- Mercury Learning
- 2019
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
Features
- 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 sky domes, height and normal maps used throughout the book
About the Authors
V. Scott Gordon and John Clevenger are both computer science professors at California State University, Sacramento.
In this Book
-
Getting Started
-
The OpenGL Graphics Pipeline
-
Mathematical Foundations
-
Managing 3D Graphics Data
-
Texture Mapping
-
3D Models
-
Lighting
-
Shadows
-
Sky and Backgrounds
-
Enhancing Surface Detail
-
Parametric Surfaces
-
Tessellation
-
Geometry Shaders
-
Other Techniques