Setting Up a Development Environment
Getting This Book’s Source Code
Beyond the C++ Standard Library
Implementing a Skeleton Game Class
Implementing Basic 2D Graphics
Drawing Walls, a Ball, and a Paddle
Logic as a Function of Delta Time
Updating the Paddle’s Position
2 Game Objects and 2D Graphics
Integrating Game Objects into the Game Loop
Getting a Vector between Two Points: Subtraction
Scaling a Vector: Scalar Multiplication
Combining Two Vectors: Addition
Determining a Distance: Length
Determining Directions: Unit Vectors and Normalization
Converting from an Angle to a Forward Vector
Converting a Forward Vector to an Angle: Arctangent
Determining the Angle between Two Vectors: Dot Product
Calculating a Normal: Cross Product
Creating a Basic MoveComponent
Class
Creating an InputComponent
Class
Computing Positions with Euler Integration
Issues with Variable Time Steps
Circle-Versus-Circle Intersection
Creating a CircleComponent
Subclass
Basic State Machine Implementation
Handling Incomplete Game Trees
The OpenGL Context and Initializing GLEW
Transforming a Point by Using a Matrix
Transforming to World Space, Revisited
Adding World Transforms to Actor
Transforming from World Space to Clip Space
Updating Shaders to Use Transform Matrices
Updating the Vertex Attributes
Transforming to Clip Space, Revisited
Out with the Painter’s Algorithm, in with Z-Buffering
Adding Positional Functionality to SoundEvent
Creating an AudioComponent
to Associate Actors with Sound Events
The Listener in a Third-Person Game
Basic InputSystem
Architecture
Filtering Analog Sticks in Two Dimensions
Supporting Multiple Controllers
Adding Collisions to Game Code
Ball Collisions with SegmentCast
Testing Box Collisions in PhysWorld
Player Collision Against the Walls
Supporting Multiple Resolutions
Foundations of Skeletal Animation
Implementing Skeletal Animation
Drawing with Skinning Vertex Attributes
Rendering to a Framebuffer Object
Drawing the Mirror Texture in the HUD
3.16.139.62