"Game Graphics Programming" examines the many different techniques and effects that are used to create cutting-edge graphics in today's video games and how to implement them. The book takes a detailed look at computer graphics, exploring both the theory and application of each algorithm and effect and how they are structured and executed to generate the rendered result. Detailed C++ source code and pseudocode are used as examples throughout the book to demonstrate the methods being taught, but the techniques presented can be used with any programming language or tool. You'll begin with an introduction to basic 2D and 3D game graphics tools and components including common game mathematics, colors and pixels, and computer memory, as well as ray tracing and rasterization techniques and programmable shaders. Once you've reviewed the foundations of game graphics, you'll go more in-depth with shading and surfaces, direct and global illumination, special effects, and rendering nature. After the how and why of each technique is presented, you'll also examine optimizations that can be done to improve performance and alternative methods. "Game Graphics Programming" presents you with all of the information you need to efficiently and effectively create eye-catching graphical scenes for video games.