Free Sample
+ Collection

Learning Game Physics with Bullet Physics and OpenGL

Chris Dickinson

Practical 3D physics simulation experience with modern feature-rich graphics and physics APIs
RRP $17.99
RRP $29.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781783281879
Paperback126 pages

About This Book

  • Create your own physics simulations and understand the various design concepts of modern games
  • Build a real-time complete game application, implementing 3D graphics and physics entirely from scratch
  • Learn the fundamental and advanced concepts of game programming using step-by-step instructions and examples

Who This Book Is For

If you're a beginner or intermediate programmer with a basic understanding of 3D mathematics, and you want a stronger foundation in 3D graphics and physics, then this book is perfect for you! You'll even learn some of the fundamental concepts in 3D mathematics and software design that lies beneath them both, discovering some techniques and tricks in graphics and physics that you can use in any game development project.

Table of Contents

Chapter 1: Building a Game Application
Application components
Exploring the Bullet and FreeGLUT projects
Exploring Bullet's built-in demo applications
Starting a new project
Building the application layer
Chapter 2: Rendering and User Input
Rendering the scene
Basic rendering and lighting
Let there be light!
User input and camera control
Chapter 3: Physics Initialization
The core bullet objects
Creating the Bullet components
Creating our first physics object
Building a custom motion state
Creating a box
Rendering from transform data
Stepping the simulation
Chapter 4: Object Management and Debug Rendering
Handling multiple objects
Debug rendering
Introducing activation states
The domino effect
Chapter 5: Raycasting and Constraints
The power of raycasting
Destroying objects
Understanding constraints
Chapter 6: Events, Triggers, and Explosions
Building a collision event system
Building trigger volumes
Force, torque, and impulse
Applying impulses
Chapter 7: Collision Shapes
Spheres and cylinders
Convex hulls
Compound shapes
Chapter 8: Collision Filtering
Groups and masks
Chapter 9: Soft Body Dynamics
Soft body requirements

What You Will Learn

  • Develop game applications from scratch; create a window, render the scene, and interact with your game through mouse and keyboard input
  • Write OpenGL code at a low-level; render objects and understand every line of code you write!
  • Understand how to keep the graphical and physical components of the simulation isolated for ease of understanding and future changes
  • Learn how to properly handle the rendering and physics processing of multiple objects
  • Explore the technologies and concepts behind modern game physics simulation through a practical understanding of Bullet Physics and OpenGL
  • Build crucial features that are essential to all games; collision events, user input, object control, and trigger volumes
  • Implement advanced physics simulation features like soft body physics, constraints, and collision filtering
  • Delve into a robust and modern physics engine game; and understand the challenges and solutions the developers of Bullet built into the library

In Detail

Physics simulation is an integral part of almost all game development projects as it is essential to the rules and feel of the game (gameplay) regardless of the project’s scale. Bullet is a 3D Collision Detection and Rigid Body Dynamics Library for games, and special effects for film and animations. Bullet is integrated into many 3D modelers including Maya, Houdini, Cinema 4D, LightWave, and Blender. It is free for commercial use and open source under the permissive ZLib License.

A comprehensive guide to start building games with the Bullet Physics library. Learn how modern physics engines work by implementing key features such as collision event systems, user input handling, and simulation of soft bodies. Then learn to control it all with forces, constraints, and robust object management. This book will reveal what’s going on under the hood of two modern and feature-rich graphics and physics APIs; OpenGL and Bullet Physics.

This book begins by teaching you to write your first OpenGL application, and then dives in to exploring the many features of the Bullet library in a straightforward manner. Each new feature expands upon the last, teaching you more about how physics is simulated in a video game, and how Bullet gives you the power to control every aspect of your simulation. You will learn how to render simple and complex shapes, apply some basic lighting, and construct a simple yet robust rendering system. From here, you will pull back the veil to see what’s going on underneath Bullet Physics, and learn to implement key game logic features through this widely-used and extensive physics library. After you finish this book, you’ll be armed with a wealth of knowledge to tackle the more advanced aspects of game graphics and physics going forward.


Read More