A comprehensive guide to exploring the essential mathematics required for creating, rendering, and manipulating 3D virtual environments
Key Features
- Get acquainted with the essential mathematics needed to describe, simulate, and render 3D creations
- Be able to construct and manipulate 3D animated environments using Python, Pygame, and PyOpenGL
- Follow practical examples and complete exercises yourself to solidify mathematical concepts
Book Description
Mathematics is an essential skill when it comes to graphics and game development, particularly if you want to understand the generation of real-time computer graphics and the manipulation of objects and environments in more detail. Python, together with Pygame and PyOpenGL, provides the opportunity for today's developers to explore these features under the hood, revealing how computers generate and manipulate 3D environments.
Mathematics for Game Programming and Computer Graphics is a comprehensive guide to getting "back to the basics" of mathematics, using a series of problem-based, practical exercises to explore ideas around drawing graphic lines and shapes, applying vectors and vertices, constructing and rendering meshes, working with vertex shaders, and implementing physics techniques like collisions and particle emitters. Using Python, Pygame, and PyOpenGL, you will create your own mathematical-based engine and API that will be used throughout to build applications and examples.
By the end of this book, you will have a thorough understanding of how essential mathematics is to creating, rendering, and manipulating 3D virtual environments and know the secrets behind today's top graphics and game engines.
What you will learn
- Get up and running with Python, Pycharm, Pygame, and PyOpenGL
- Experiment with different graphics API drawing commands
- Review basic trigonometry and how it's important in 3D environments
- Apply vectors and matrices to move, orient, and scale 3D objects
- Create circles and spheres with parametric equations
- Render 3D objects with textures, colors, shading, and lighting
- Work with vertex shaders for faster GPU based rendering
- Examine physics techniques like collisions and particle emitters
Who This Book Is For
This book is for programmers who want to better their 3D mathematics skills relating to computer graphics and computer games. A knowledge of high school level mathematics and a working understanding in an object-orientated language will be required.
Table of Contents
- Hello Graphics Window: Your on your way
- Let's Start Drawing
- Line Plotting Pixel by Pixel
- Graphics and Game Engine Components
- Let's Light it Up!
- Updating and Drawing the Graphics Environment
- Interactions with the Keyboard and Mouse for Dynamic Graphics Programs
- Reviewing Our Knowledge of Triangles
- Practicing Vectors Essentials
- Getting acquainted with Lines, Rays and Normals
- Manipulating the Light and Texture of Triangles
- Advanced Rotational Techniques of Those in the Know
- Geometry and Shading Principles for High Quality Renders
- Lighting a Scene like a Pro
- Depth Processing and Culling for Better Performance
- Collision Detection for Interactive Objects
- Rigid Bodies that Deliver Real-World Physics
- Popular Physics Systems Used in Games for Special Effect