TweetFollow Us on Twitter

Apr 02 Book Review

Volume Number: 18 (2002)
Issue Number: 04
Column Tag: Review

Book Review: 3D Game Engine Design

by Ron Davis

There are a lot of game programming books out there. They use many different methodologies to teach you something about game programming. 3D Game Engine Design by David H. Eberly is a specialize graphic algorithm book. As the author says in his introduction, most graphic algorithm books either show you code to implement games, or they give you in-depth discussion of 3D algorithms that aren't really useful for the game programmer. This book is in the middle. It is a deep reference of 3D programming, but it focuses on the things you need for the real time graphics of games.

I have to confess much of the math in this book was over my head. It isn't for those of us who didn't pay enough attention to those calculus classes. If this sentence from the introduction of the book scares you, the book isn't for you: "It is assumed that the reader's background includes a basic understanding of vector and matrix algebra, linear algebra, multivariate calculus and data structures."

Even given that caveat I delved on into the book. It is first and foremost a reference. Each aspect of 3D engine development is covered, with no one part being dependent on another. If you do this kind of development, you need this book on your book shelf. There is also a CD that comes with the book that includes a full 3D graphic engine, but, alas, it is not very Mac friendly.

The first chapter is an introduction to the book and how it is organized. The second chapter discusses geometrical methods used to map three dimensional objects onto a two dimensional screen, including transformations, coordinate systems, quaternions, Euler angles and distance methods. There is also a discussion of common shapes like spheres, capsules, cylinders etc.

Chapter 3 discusses the graphic pipeline, which is how a 3D game works, including perspective projection, camera models, culling and clipping. There is also a discussion of surface and vertex attributes including textures, lighting, transparency and fog. According to the summary at the end of the chapter, all of this information is not needed if you are using a 3D API like OpenGL.

No matter what you use for a render, you will have to organize the scene you are going to feed the renderer. The book begins a discussion of these issues with Chapter 4, Hierarchical Scene Representations. It discusses means of organizing objects so they are grouped allowing for easier transformation, collision detection, rendering and persistence.

Picking is the subject of Chapter 5, which is the means of translating a click on the screen to a 3D object in the scene. The author takes a more generalized approach and handles collision detection from any 2D point for a ray into the 3D world. This allows for determining if things like laser beams hit 3D objects.

Chapter 6 covers collision detection. The author notes this can be a very complex problem and that much of the code a game can be taken up with it. He notes at the beginning of the chapter that this needs to be taken into account at design time. The rest of the chapter is dedicated to collisions of various types of objects.

Chapter 7 covers curves which may not at first be obviously used in games, but which the author discusses anyway. This leads to surfaces in Chapter 8, which are a growing part of 3D game engines. The chapter covers different kinds of curves and how to subdivide them.

Chapter 9 is a short chapter on animation covering key frame animation, inverse kinematics and skinning. The author discusses how to create different levels of detail in a 3D scene on demand in chapter 10.

One of the cooler things in 3D to me is terrain generation and that is topic of chapter 11. He discusses an algorithm used to minimize the amount of data and calculations needed to render landscapes.

The last two chapters of the book cover spatial sorting techniques and special effects. The book concludes with an appendix on object oriented infrastructure and numerical methods as wells as a complete glossary.


Ron Davis is a long time Macintosh Software Engineer, having worked for companies like Apple, and Metrowerks on a variety of products from development tools to anti-virus software.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Latest Forum Discussions

See All


Price Scanner via MacPrices.net

Early Black Friday Deal: Apple’s newly upgrad...
Amazon has Apple 13″ MacBook Airs with M2 CPUs and 16GB of RAM on early Black Friday sale for $200 off MSRP, only $799. Their prices are the lowest currently available for these newly upgraded 13″ M2... Read more
13-inch 8GB M2 MacBook Airs for $749, $250 of...
Best Buy has Apple 13″ MacBook Airs with M2 CPUs and 8GB of RAM in stock and on sale on their online store for $250 off MSRP. Prices start at $749. Their prices are the lowest currently available for... Read more
Amazon is offering an early Black Friday $100...
Amazon is offering early Black Friday discounts on Apple’s new 2024 WiFi iPad minis ranging up to $100 off MSRP, each with free shipping. These are the lowest prices available for new minis anywhere... Read more
Price Drop! Clearance 14-inch M3 MacBook Pros...
Best Buy is offering a $500 discount on clearance 14″ M3 MacBook Pros on their online store this week with prices available starting at only $1099. Prices valid for online orders only, in-store... Read more
Apple AirPods Pro with USB-C on early Black F...
A couple of Apple retailers are offering $70 (28%) discounts on Apple’s AirPods Pro with USB-C (and hearing aid capabilities) this weekend. These are early AirPods Black Friday discounts if you’re... Read more
Price drop! 13-inch M3 MacBook Airs now avail...
With yesterday’s across-the-board MacBook Air upgrade to 16GB of RAM standard, Apple has dropped prices on clearance 13″ 8GB M3 MacBook Airs, Certified Refurbished, to a new low starting at only $829... Read more
Price drop! Apple 15-inch M3 MacBook Airs now...
With yesterday’s release of 15-inch M3 MacBook Airs with 16GB of RAM standard, Apple has dropped prices on clearance Certified Refurbished 15″ 8GB M3 MacBook Airs to a new low starting at only $999.... Read more
Apple has clearance 15-inch M2 MacBook Airs a...
Apple has clearance, Certified Refurbished, 15″ M2 MacBook Airs now available starting at $929 and ranging up to $410 off original MSRP. These are the cheapest 15″ MacBook Airs for sale today at... Read more
Apple drops prices on 13-inch M2 MacBook Airs...
Apple has dropped prices on 13″ M2 MacBook Airs to a new low of only $749 in their Certified Refurbished store. These are the cheapest M2-powered MacBooks for sale at Apple. Apple’s one-year warranty... Read more
Clearance 13-inch M1 MacBook Airs available a...
Apple has clearance 13″ M1 MacBook Airs, Certified Refurbished, now available for $679 for 8-Core CPU/7-Core GPU/256GB models. Apple’s one-year warranty is included, shipping is free, and each... Read more

Jobs Board

Seasonal Cashier - *Apple* Blossom Mall - J...
Seasonal Cashier - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Read more
Seasonal Fine Jewelry Commission Associate -...
…Fine Jewelry Commission Associate - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) Read more
Seasonal Operations Associate - *Apple* Blo...
Seasonal Operations Associate - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Read more
Hair Stylist - *Apple* Blossom Mall - JCPen...
Hair Stylist - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Blossom Read more
Cashier - *Apple* Blossom Mall - JCPenney (...
Cashier - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Blossom Mall Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.