What this book covers
Chapter 1, Hello Graphics Window: You’re On Your Way, introduces the software tools used throughout the book to explore 3D graphics and game development, where Python and OpenGL will be used to develop graphical window applications.
Chapter 2, Let’s Start Drawing, takes you through a series of exercises to set up and explore the basic skeleton code required to run and update a graphics application.
Chapter 3, Line Plotting Pixel by Pixel, contains a series of exercises to explore low-level line drawing algorithms, beginning with a naive approach that will reveal the issues involved in drawing lines on a raster display.
Chapter 4, Graphics and Game Engine Components, investigates the software architecture of games and graphics engines the associated data structures for working with 3D environments.
Chapter 5, Let’s Light It Up!, shows you how to bring light and texture to a virtual scene to develop solid models of previously used meshes.
Chapter 6, Updating and Drawing the Graphics Environment, takes you through a series of exercises designed to reveal the cyclical nature of producing graphics frames in addition to building a strong foundation for your graphics project.
Chapter 7, Interactions with the Keyboard and Mouse for Dynamic Graphics Programs, teaches you how to use the Pygame API to gather user input via the mouse and keyboard and use it to interact with a game environment.
Chapter 8, Reviewing Our Knowledge of Triangles, reviews trigonometry with an aim to solidify the concepts of similar triangles and the mathematical properties of right-angle triangles.
Chapter 9, Practicing Vector Essentials, investigates the mathematical principles of vectors and explores the link between their properties and right-angle triangles to reveal the many ways they are useful in graphics.
Chapter 10, Getting Acquainted with Lines, Rays, and Normals, explores the similarities and differences between straight geometric elements and applies them to object movement.
Chapter 11, Manipulating the Light and Texture of Triangles, investigates the use of normal vectors in computer graphics and discovers how they are essential for representing, drawing, and lighting 3D models.
Chapter 12, Mastering Affine Transformations, reveals the primary set of operations that allows 3D points and models to be translated, scaled, and rotated in 3D space.
Chapter 13, Understanding the Importance of Matrices, discusses how transformations are represented as matrices and the power this brings to processing computer graphics.
Chapter 14, Working with Coordinate Spaces, teaches you about the different coordinate spaces a vertex is transformed through to get from its local coordinate system to a pixel on the screen.
Chapter 15, Navigating the View Space, guides you to explore ways to move the camera around in a 3D environment as well as discover some glitches in the matrix operations for rotations.
Chapter 16, Rotating with Quaternions, takes you deeper into the highly complex domain of quaternion rotations and shows how 4D spaces can solve 3D rotational issues.
Chapter 17, Vertex and Fragment Shading, guides you through the programming of shader code for the drawing of objects that transfers graphics from CPU control to be processed in parallel on the graphics card.
Chapter 18, Customizing the Render Pipeline, explores some fundamental techniques used to write shader code for elementary shaders that produce lighting effects.
Chapter 19, Rendering Visual Realism Like a Pro, reveals how light physically interacts with a 3D environment and the objects within it to develop a modern physically based rendering shader.