Beginning OpenGL Game Programming, by Dave Astle and Kevin Hawkins, offers a simpler introduction to programming with the OpenGL application programming interface (API) than many other introductory OpenGL books out there, including their earlier work, OpenGL Game Programming.
The book is an introductory text that will find a home with programmers who have worked exclusively either in the DirectX world of Microsoft Xbox and Windows or have only had opportunity to use another proprietary API such as RenderWare.
Beginning OpenGL covers most, but not all, of the current OpenGL specification and the OpenGL Utility Toolkit (GLUT) — a platform independent API making it easier to use OpenGL across a variety of platforms.
The authors have mostly concentrated on the beginning aspect, making the book a short, focused, and easy read — useful to accomplished programmers with no experience using a 3D API and those programmers coming to OpenGL for the first time — presenting an OpenGL overview and avoiding the tougher and deeper aspects beyond the fixed function pipeline.
While Beginning OpenGL attempts to remain platform agnostic, the primary platform focus is on the popular and dominant Microsoft Windows. All of the examples are engineered for this single operating system, with an entire chapter dedicated to the specific issues you’ll face when implementing a solution on a Win32 platform utilizing OpenGL. However, the authors have made every attempt, where possible, to make the information relevant to programmers developing for other platforms such as Mac OSX and Linux.
Astle and Hawkins wisely avoid non-OpenGL development topics, preferring to concentrate on their chosen subject; kudos to the technical editor for not succumbing to the temptation, which was so prevalent in early Premier Press books, of including the proverbial kitchen sink. Having said that, you can’t write a book about game programming without briefly touching on other subjects like the game loop, user input, and audio.
While the book is pitched as a introductory text, it is aimed squarely at programmers capable of putting together non-3D applications. Both authors are seasoned professionals: Hawkins from the hard-core simulation sector and Astle from the game development field with a lot of cross-platform experience. They make no bones about assuming you know your way around a compiler, C++, and the basics of the math used in 3D graphics. The authors haven’t assumed you know what a projection matrix is, or how to handle a camera frustum, but they are expecting you to know how to add two vectors, or multiply two matrices.
The CD contains all of the expected source code from the book with accompanying Microsoft Developer Studio projects, an extension library that simplifies working with OpenGL, and eight bonus chapters that did not make it in to the printed book. These bonus chapters were a complete surprise that are outside of the core of the book.
Congratulations are in order to the book’s editor for realizing that they didn’t quite fit with the central theme, but including them anyway as “optional” material. These chapters cover some not so “beginning” subjects such as quadrics, curves, and surfaces, plus “off-topic” chapters discussing how to utilize DirectAudio and DirectInput; I’ve already stated that the book is very Microsoft Windows centric to begin with. There’s also the obligatory, relatively coherent math primer, which also covers some basic 3D graphics theory, e.g. texture mapping and lighting. I’m sure I’ve see this primer chapter in another Premier Press book so it might be one of their boiler-plate chapters.
The CD also includes a bonus first-person shooter game for you to play — with full source code and a chapter on how it was created — that demonstrates most of what was covered in the various chapters such as fog, animated meshes, view transformations, camera movement, and 2D text.
Since Course Technology has been steering the publication of Premier Press’s books, they have continued to move from strength to strength. With the publication of Beginning OpenGL Game Programming, the publisher is truly showing a strong future commitment to the game developer market, along with a high level of service to individual game developers by issuing quality publications.
Beginning OpenGL Game Programming is a perfect introduction to developers not yet up to speed on OpenGL development issues.
Dave Astle has been programming games professionally for several years,working on titles for Microsoft Xbox, Sony PlayStation 2, Nintendo GameCube, PC and wireless devices. He is a lead engineer in the Gaming and Graphics group at Qualcomm, Inc. and is the cofounder and executive producer of GameDev.net. He has written or contributed to many game development books and has spoken at industry conferences, including the Game Developers’ Conference.
Kevin Hawkins is a lead software engineer at RAYDON Corporation where he designs and develops training simulations for a variety of customers, including the U.S. military. Kevin is the cofounder and CEO of GameDev.net, the leading online community for game developers. He holds a master’s degree in Software Engineering and a bachelor’s degree in Computer Science from Embry-Riddle University.
Author: Dave Astle and Kevin Hawkins
Publisher: Premier Press (Course/Technology)
7 out of 10