Learning Game Physics with Bullet Physics and OpenGL. Practical 3D physics simulation experience with modern feature-rich graphics and physics APIs - Helion
Tytuł oryginału: Learning Game Physics with Bullet Physics and OpenGL. Practical 3D physics simulation experience with modern feature-rich graphics and physics APIs
ISBN: 9781783281886
stron: 126, Format: ebook
Data wydania: 2013-10-25
Księgarnia: Helion
Cena książki: 109,00 zł
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.
Osoby które kupowały "Learning Game Physics with Bullet Physics and OpenGL. Practical 3D physics simulation experience with modern feature-rich graphics and physics APIs", wybierały także:
- Windows Media Center. Domowe centrum rozrywki 66,67 zł, (8,00 zł -88%)
- Ruby on Rails. Ćwiczenia 18,75 zł, (3,00 zł -84%)
- Przywództwo w świecie VUCA. Jak być skutecznym liderem w niepewnym środowisku 58,64 zł, (12,90 zł -78%)
- Scrum. O zwinnym zarządzaniu projektami. Wydanie II rozszerzone 58,64 zł, (12,90 zł -78%)
- Od hierarchii do turkusu, czyli jak zarządzać w XXI wieku 58,64 zł, (12,90 zł -78%)
Spis treści
Learning Game Physics with Bullet Physics and OpenGL. Practical 3D physics simulation experience with modern feature-rich graphics and physics APIs eBook -- spis treści
- Learning Game Physics with Bullet Physics and OpenGL
- Table of Contents
- Learning Game Physics with Bullet Physics and OpenGL
- Credits
- About the Author
- About the Reviewers
- www.PacktPub.com
- Support files, eBooks, discount offers and more
- Why Subscribe?
- Free Access for Packt account holders
- Support files, eBooks, discount offers and more
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Downloading the color images of this book
- Errata
- Piracy
- Questions
- 1. Building a Game Application
- Application components
- Exploring the Bullet and FreeGLUT projects
- Exploring Bullets built-in demo applications
- Starting a new project
- Building the application layer
- Configuring FreeGLUT
- glutKeyboardFunc/glutKeyboardUpFunc
- glutSpecialFunc/glutSpecialUpFunc
- glutMouseFunc
- glutMotionFunc/glutPassiveMotionFunc
- glutReshapeFunc
- glutDisplayFunc
- glutIdleFunc
- Initializing FreeGLUT
- glutInit
- glutInitDisplayMode
- glutInitWindowPosition/glutInitWindowSize
- glutCreateWindow
- glutSetOption
- Launching FreeGLUT
- Configuring FreeGLUT
- Summary
- 2. Rendering and User Input
- Rendering the scene
- Introducing double-buffering
- Understanding the basics of a camera
- glIdentity
- glFrustum
- gluLookAt
- glViewport
- Basic rendering and lighting
- Creating a simple box
- Let there be light!
- Normals
- Creating ambient, diffuse, and specular lighting
- Understanding depth testing
- glLightfv
- glEnable
- glMaterialfv/glMateriali
- glShadeModel
- glDepthFunc
- Coloring your box
- Understanding rendering pipelines
- User input and camera control
- Implementing camera control
- Gathering user input
- Summary
- Rendering the scene
- 3. Physics Initialization
- The core bullet objects
- The world object
- The broad phase
- The collision configuration
- The collision dispatcher
- The constraint solver
- Creating the Bullet components
- Creating our first physics object
- The collision shape
- The motion state
- The collision object
- Building a custom motion state
- Creating a box
- Rendering from transform data
- Stepping the simulation
- Summary
- The core bullet objects
- 4. Object Management and Debug Rendering
- Handling multiple objects
- Designing our objects
- Rendering our objects
- Storing our objects
- Creating our objects
- Debug rendering
- Building the debug drawer
- Introducing activation states
- The domino effect
- Summary
- Handling multiple objects
- 5. Raycasting and Constraints
- The power of raycasting
- Picking rays
- Destroying objects
- Constraints
- Understanding constraints
- Picking up objects
- Building a constraint
- Summary
- The power of raycasting
- 6. Events, Triggers, and Explosions
- Building a collision event system
- Explaining the persistent manifolds
- Managing the collision event
- Building trigger volumes
- Disabling contact response
- Force, torque, and impulse
- Understanding the object motion
- Applying forces
- Applying impulses
- Summary
- Building a collision event system
- 7. Collision Shapes
- Spheres and cylinders
- Convex hulls
- Creating convex hulls from mesh data
- Compound shapes
- Summary
- 8. Collision Filtering
- Groups and masks
- Defining linear and angular freedom
- Summary
- Groups and masks
- 9. Soft Body Dynamics
- Soft body requirements
- Initialization
- Creating soft bodies
- Rendering soft bodies
- Summary
- Soft body requirements
- Index