Game Development Reference
In-Depth Information
Of course, a modern game or game engine will have many more components than
this, such as networking, animation, resource management, and even audio; but
these won't be necessary for the applications in this topic since we are focussed on
learning about physics and graphics with two specific libraries: Bullet and OpenGL
respectively. However, the beauty of component-based design is that there's nothing
that stops us from grabbing an audio library such as FMOD and giving the demos
some much needed sound effects and background music, thus bringing them one
step closer to being real games.
Bullet is a physics engine and it is important to realize that Bullet is only a physics
simulation solution. It does not provide a means for visualizing its objects and it never
promises to. The authors of the library assume that we will provide an independ-
ent means of rendering, so that they can focus on making the library as feature-rich
in physics as possible. Therefore, in order to visualize Bullet's objects, we will be
using OpenGL. But, OpenGL itself is a very low-level library that is as close to the
graphics-card hardware as you can get. This makes it very unwieldy, complicated,
and frustrating to work with, unless you really want to get into the nuts and bolts of
3D graphics.
To spare us from such hair-pulling frustration, we will be using FreeGLUT . This is a
library which encapsulates and simplifies OpenGL instructions (such libraries are of-
ten called wrappers ) and, as a bonus, takes care of application bootup, control, and
input handling as well. So, with just Bullet and FreeGLUT, we have everything that
we need to begin building our first game application.
Search WWH ::

Custom Search