Learning Game Physics with Bullet Physics and OpenGL - Chris Dickinson

Learning Game Physics with Bullet Physics and OpenGL

Practical 3D physics simulation experience with modern feature-rich graphics and physics APIs

(Autor)

Buch | Softcover
126 Seiten
2013
Packt Publishing Limited (Verlag)
978-1-78328-187-9 (ISBN)
29,80 inkl. MwSt
Practical 3D physics simulation experience with modern feature-rich graphics and physics APIs

Key Features

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

Book DescriptionPhysics 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.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

Who this book is forIf 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.

Chris Dickinson grew up in a quiet little corner of England with a strong passion for mathematics, science and, in particular, video games. He loved playing them, dissecting their gameplay, and trying to figure out how they worked. Watching his dad hack the hex code of a PC game to get around the early days of copy protection completely blew his mind! His passion for science won the battle at the time; however, after completing a master's degree in physics with electronics, he flew out to California to work in the field of scientific research in the heart of Silicon Valley. Shortly afterward, he had to admit to himself that research work was an unsuitable career path for his temperament. After firing resumes in all directions, he landed a job that finally set him on the correct course in the field of software engineering (this is not uncommon for physics grads, I hear). His time working as an automated tools developer for IPBX phone systems fit his temperament much better. Now he was figuring out complex chains of devices, helping its developers fix and improve them, and building tools of his own. Chris learned a lot about how to work with big, complex, real-time, event-based, user-input driven state machines (sounds familiar?). Being mostly self-taught at this point, Chris's passion for video games was flaring up again, pushing him to really figure out how video games were built. Once he felt confident enough, he returned to school for a bachelor's degree in game and simulation programming. By the time he was done, he was already hacking together his own (albeit rudimentary) game engines in C++ and regularly making use of those skills during his day job. However, if you want to build games, you should just build games, and not game engines. So, Chris picked his favorite publically available game engine at the time--an excellent little tool called Unity 3D--and started hammering out some games. After a brief stint of indie game development, Chris regretfully decided that the demands of that particular career path weren't for him, but the amount of knowledge he had accumulated in just a few short years was impressive by most standards, and he loved to make use of it in ways that enabled other developers with their creations. Since then, Chris has authored a tutorial book on game physics (Learning Game Physics with Bullet Physics and OpenGL, Packt Publishing) and two editions of a Unity performance optimization book (which you are currently reading). He has married the love of his life, Jamie, and works with some of the coolest modern technology as a software development engineer in Test (SDET) at Jaunt Inc. in San Mateo, CA, a Virtual Reality/Augmented Reality startup that focuses on delivering VR and AR experiences, such as 360 videos (and more!). Outside of work, Chris continues to fight an addiction to board games (particularly Battlestar: Galactica and Blood Rage), an obsession with Blizzard's Overwatch and Starcraft II, cater to the ever-growing list of demands from a pair of grumpy yet adorable cats, and gazing forlornly at the latest versions of Unity with a bunch of game ideas floating around on paper. Someday soon, when the time is right (and when he stops slacking off), his plans may come to fruition

Table of Contents

Erscheint lt. Verlag 25.10.2013
Verlagsort Birmingham
Sprache englisch
Maße 191 x 235 mm
Themenwelt Mathematik / Informatik Informatik Grafik / Design
Informatik Software Entwicklung Spieleprogrammierung
Mathematik / Informatik Informatik Theorie / Studium
ISBN-10 1-78328-187-1 / 1783281871
ISBN-13 978-1-78328-187-9 / 9781783281879
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
2D- und 3D-Spiele entwickeln

von Thomas Theis

Buch | Softcover (2023)
Rheinwerk (Verlag)
29,90