Upcoming Events
G.A.M.E.S. Synergy Summit 2006
1/17 - 1/18 @ Orlando, FL

OTRONICON
1/20 - 1/29 @ Orlando, FL

Mobile Games Forum 2006
1/25 - 1/26 @ London, United Kingdom

Casuality Europe
2/7 - 2/9 @ Amsterdam, Netherlands

More events...


Quick Stats
5587 people currently visiting GDNet.
1937 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!



Link to us

Home » Books » Book Listing
  search:   
Books @ GameDev.net Jump to:
For Beginners books
Graphics Programming books
OpenGL books
All books
Beginning OpenGL Game Programming
by Dave Astle, Kevin Hawkins
Published March 2004
List Price: $29.99, Your Amazon.com Price: $19.79
Course PTR Price: $23.99
Average rating:
Amazon Sales Rank: 34,360

Buy it now: From Course PTR

Summary
Beginning OpenGL Game Programming provides new game programmers with a complete introduction to 3D game programming using OpenGL. All of the basic elements of OpenGL as it applies to game development are covered. You will learn how to apply these elements to games. The material is designed to be completely accessible to beginners, with complete but concise coverage to ensure the highest value.

Features

  • Provides new game programmers with a complete introduction to 3D game programming using OpenGL
  • Makes this popular development environment accessible to beginning developers
  • Written by the founders of GameDev.net and authors of the successful OpenGL Game Programming.

Table of Contents
Introduction
Part I: The Basics
Chapter 1 – The Exploration Begins
Chapter 2 – Creating a Simple OpenGL Application
Chapter 3 – OpenGL States and Primitives
Chapter 4 – Transformations and OpenGL Matrices
Chapter 5 – Adding Color, Blending, Lighting, and Fog
Chapter 6 – Bitmaps and Images with OpenGL
Chapter 7 – Texture Mapping
Part II: Beyond the Basics
Chapter 8 – OpenGL Extensions
Chapter 9 – More on Texture Mapping
Chapter 10 – Up Your Performance
Chapter 11 – Displaying Text
Chapter 12 – OpenGL Buffers
Chapter 13 – Putting it All Together – A Simple Game

Additional information about the book can be obtained at glbook.gamedev.net.


Similar Books
3D Math Primer for Graphics and Game Development by Fletcher Dunn, Ian Parberry
3D Game Programming All in One by Ken Finney
OpenGL Programming Guide (4th Ed.) by Mason Woo, et al.

Write an online review and share your thoughts with other members.
Staff Reviews
Beginning OpenGL Game Programming is a newly rewritten and tightened-up version of Astle and Hawkins' renowned 2001 OpenGL Game Programming. Bucking an industry trend for successful books to release hardcover "deluxe" editions with extra chapters and a premium price, the Beginning OpenGL Game Programming has dropped about 50% in both size and price and has, in my opinion, become a better book for it.

Jettisoned from the original book are the non-OpenGL parts. Stuff like DirectInput, DirectPlay, DirectSound, etc. While such pieces would very likely be necessary for a book on how to write a complete game (because OpenGL is a graphics-only library) they're not necessary in an OpenGL tutorial. If you're looking for a book that'll tell you everything you need to know to take a game from idea to packaging, this isn't it. If you're looking for an easy introduction to OpenGL, go no further.

While this book is aimed at beginners, it's not a book for rank amateurs. It assumes that you're familiar with C programming and at least have a handle on 3D geometry. The chapter on matrix math from the original book, however, is available on the pack-in CD if your matrix math is as wobbly as mine.

The Obligatory Example Game(tm) doesn't appear until the last chapter. The game, thankfully, isn't covered in excruciating detail with pages of code listings, but it does tie together everything discussed in the book. It's a 3D animated robot chess game inspired by the old MS-DOS "Battle Chess". It's quite an impressive example that shows off everything from animated externally-loaded and textured objects to reflections on the playing board. It's quite an example, and pretty-much everything in the game is covered in the book.

One problem I had with Beginning OpenGL Game Programming is a similar problem I saw with Ernest Pazera's Focus On SDL. That is that the book is focused on a technology that's chief advantage is its ability to run on multiple platforms. The book mentions how nice it is to be able to write code that works on multiple platforms, but then it completely ignores any cross-platform issues for the rest of the book. Beginning OpenGL Game Programming even discusses cross-platform front-end libraries for OpenGL, like GLUT and SDL, but then proceeds to ignore them in favor of a Windows-only message loop front-end. Some Linux or OSX examples would've been welcome but were nowhere to be seen.

Beginning OpenGL Game Programming is an excellent way for programmers who want to make the leap from 2D to 3D graphics to do so. It's not a book for people who are just learning to program, but if you've got the skills under your belt and are ready to throw some textured polygons on the screen, this'll help you do it.



Member Reviews
If you feel comfortable with C or C++ and want to learn how to make games with OpenGL, then this is probably the book for you. It's short, to the point, and will tell you everything you need to know to get started making games with OpenGL.

I had previously bought the OpenGL Programmer's Guide (the red book), but had been overwhelmed by the information that book provides. Beginning OpenGL programming only explains what you need to know for game development, not many extraneous details. Plus, unlike some books from Premier Press it is presented in a professional manner - it doesn't sound like it was written by and for a 16 year old.

This book won't teach you all the ins and outs of OpenGL, but it will get you started and pointed in the right direction. It has given me enough background that i'm now going back through the Programming Guide and getting a deeper understanding of some of the topics. I can't wait until Volume 2 comes out later this year.

My only complaint is that the book is somewhat Windows specific. I realize that that is the target audience, but it would have been nice if all the examples had been done crossplatform (like GLUT or SDL) - but that's probably just me that would want that. I was able to get every example up and running on linux under SDL, but it wasn't a fun process. While the OpenGL code is encapsulated in a class which made it somewhat easier, every file had to have

#include <gl/gl.h>
changed to
#include <GL/gl.h>

as linux is case sensitive. Another problem occurred with the Targa loader, the example doesn't check to make sure a file loaded correctly. in one example the demo was trying to load "bricks.tga" when the actual file was "Bricks.tga" - on windows this is essentially the same, but on linux running the demo produced a segmentation fault. I suppose it is just book code, nothing you would see in a production environment - but still, it would be nice for the author to set an example by doing a bit more error checking.

There were also a few other issues getting the code to work under linux, but in the end, pretty much everything worked.


This book has been an excellent, easy to understand guide to learning GL. My only complaint is there don't seem to be a place to submit possible corrections to the text.


If you don't know OpenGl and want to learn this book is the best way to get started.


This is an excellent book! I just got it 3 days ago and already have a good knowledge base in OpenGL. The way in which the code examples are organized is excellent, because it allows you to look at the relevent graphics code without having to manuver through the Windows API code. If your looking for an OpenGL book to get you started this is it.


First off I would like to address something said in johnhattan's review of the book. It's true that all of the sample code in this book is designed for Windows, but, the authors did this on purpose, and address it as follows:

"...CGfxOpenGL class we use throughout the rest of the book to encapsulate the OpenGL-specific code from the operating system-specific code. We did this so that if you want to run the books examples on another operatig system, such as Linux, all you need to do is copy the CGfxOpenGL class and write the C/C++ code in another operating system required to hook the CGfxOpenGL class into the application."

It really didn't bother me too much.

Frankly, if you're using this book with Windows, great. There is a really great bonus chapter to get you started on Windows programming as well (It was really helpful for me).

If you're using this book with Linux/ Unix, you probably won't have too much trouble figuring out what you need if you don't already know. It certainly wasn't too hard for me, and I am far from any Linux guru.

And if you're using a Mac, well, maybe you're SOL. I'm sure there are some tutuorials or books out there to get you started though.



What I didn't like:
I do think it was a waste to talk about GLUT and SDL, use GLUT in the first chapter just to say, here is a working openGL app, and pretty much leave it at that. I felt like either don't mention it at all, or let us know more about it.

I also felt the book moved a little fast, but I think I always feel this way when I'm reading a "beginning..." book.

I know it's an OpenGL book, but I would have liked some information regarding other ways of interfacing with the graphical hardware (like directx). Maybe make it a bonus chapter or something, just to get the readers familiar with what's out there.




Whats great:
The bonus materials - I totally missed these until I was about 75 pages into the book, but they're really great. A lot more useful then I expected. Inlcuding deprecated chapters like sound and input

The sample code actually works "right out of the box" - I can't tell you how many books I have with dysfunctional sample code.

There aren't pages and pages of sample code, it's on the CD - So this isn't a reference book by any means, but that's not what it's supposed to be.

The price - I'm a college student, I already have to pay for $100 books which have no practical use, at least this one is affordable, and useful.



All in all I'm really happy with the book. As a matter of fact, I'm going to go through it again very soon because I rushed through the last chapters. And I can't wait for the future books.

If you're looking for an all inclusive book on every aspect of game programming, this isn't it (and I doubt you will find one).
If you want an all inclusive OpenGL book, this isn't it either.
If you want to learn about OpenGL, and get a foot in the direction of making your own games, get this book.


Excellent book!

I bought it two days ago and finished it in one, and no part was complex enough to make me re-read it :)

I already knew Win32 and an ok portion of OpenGL so I had an advantage, but the book explained everything I knew of OpenGL in more depth and introduced a lot of new stuff I didn't know :)

What keeps it from 5 stars:

#pragma warning(disable:4305). Considering this book is for noobs, you should set a good example and use 0.0f instead of 0.0 when initializing a float.

The OpenGL part of the code is mostly cross-platform, but there is some Windows-centric stuff (the entire font rendering chapter...).

Using NULL for non-pointers. Considering an int must always have a value, this is misleading. But, NULL is defined to 0 so things compile fine.







All times are ET (US)


Write an online review and share your thoughts with other members.
Full details
See the full details or purchase this book online at one of the links below:

  Course PTR
  Amazon.com
  Amazon.co.uk 
  Amazon.ca
  Amazon.de
  Amazon.fr