Sign in to turn on 1-Click ordering.
Trade in Yours
For a 0.70 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Image not available

Tell the Publisher!
Id like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Real-time 3D Terrain Engines Using C++ and DirectX (Charles River Media Game Development) [Paperback]

Greg Snook
4.7 out of 5 stars  See all reviews (3 customer reviews)
Price: 63.24 & FREE Delivery in the UK. Details
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 2 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Want it tomorrow, 15 July? Choose Express delivery at checkout. Details
Trade In this Item for up to 0.70
Trade in Real-time 3D Terrain Engines Using C++ and DirectX (Charles River Media Game Development) for an Amazon Gift Card of up to 0.70, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Book Description

1 Jun 2003 1584502045 978-1584502043 Pap/Cdr
With recent advancements in programmable 3D rendering hardware, game developers can create engines capable of making complete outdoor landscapes. Many of today's popular games include entire outdoor environments, but making these environments realistic and fast is a challenge for even the best programmers. Real-Time 3D Terrain Engines Using C++ and DirectX 9 is written to help make the process more efficient, and to bring new programmers into the field of 3D computer game programming. The book is dedicated to teaching the fundamentals of programming a popular 3D engine type - the "Real-Time 3D Terrain Engine." Throughout the book, the focus is on the essential topics of outdoor terrain rendering. So whether you are new to 3D engine programming or a seasoned veteran, Real-Time 3D Terrain Engines Using C++ and DirectX 9 will teach you how to use the latest advancements in hardware-accelerated rendering, and provide all of the tips, tricks, and ideas you need to build your own, complete 3D terrain engine. Skills Needed: It is assumed that you are familiar with C++, Direct X, math, and geometry and that you're ready to move into 3D engine design and real-time terrain visualization.

Special Offers and Product Promotions

  • Spend 30 and get Norton 360 21.0 - 3 Computers, 1 Year 2014 for 24.99. Here's how (terms and conditions apply)

Frequently Bought Together

Real-time 3D Terrain Engines Using C++ and DirectX (Charles River Media Game Development) + C++ for Game Programmers (Charles River Media Game Development) + Mathematics for 3D Game Programming and Computer Graphics
Price For All Three: 146.69

Buy the selected items together

Product details

  • Paperback: 374 pages
  • Publisher: Charles River Media; Pap/Cdr edition (1 Jun 2003)
  • Language: English
  • ISBN-10: 1584502045
  • ISBN-13: 978-1584502043
  • Product Dimensions: 2.5 x 17.5 x 23.1 cm
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (3 customer reviews)
  • Amazon Bestsellers Rank: 784,166 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description


PART I: A Foundation In 3d 1 Chapter1 Getting Started With Directx 9.0 Andd3dx Chapter 2 Fundamental 3d Objects Chapter 3 The High-Level Shader Language Chapter 4 Gaia Engine Overview PART II: Introduction To Terrain Systems 97 Chapter 5 World Management Chapter 6 Basic Terrain Geometry Chapter7 The Roam Terrain System Chapter 8 Tiled Geometry Techniques Chapter 9 Texturing Techniques PART III: Extending The Engine 221 Chapter 10 Big Sky Country Chapter 11 Rendering Outdoor Scenes Chapter 12 The 3d Gardener Chapter 13 Ocean Water Appendix A Gaia Utility Classes Appendix B Floating-Point Tricks Appendix C Programming Reference Sheets Appendix D Recommended Reading Appendix E About The CD-Rom

About the Author

Greg Snook (Sammamish, WA) has been a game programmer and artist for over eight years. He has worked on a number of successful games with several game development companies. He currently works as an Xbox programmer for Bungie Studios, and has contributed to all three volumes of the Game Programming Gems series.

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

3 star
2 star
1 star
4.7 out of 5 stars
4.7 out of 5 stars
Most Helpful Customer Reviews
14 of 14 people found the following review helpful
4.0 out of 5 stars Good but not great 17 Sep 2003
This book is not for beginners: it assumes you're comfortable with textures, meshes, matrices etc. and provides only a sketchy overview of them. The quality of the demos is uninspiring to say the least, especially the "Ocean Water" demo which is frankly terrible. There are many irritating typos. The author makes a sort of apology for his coding style and suggests that if you don't like it, you can always change it. This is easier said than done...!
So why does it still get 4 stars?
It covers, in one fairly short volume, how to represent and render terrain, with 3 LOD algorithms, skydomes/boxes, clouds (with Perlin Noise), realistic outdoor lighting, trees/grass and ocean water. It has a robust resource management system (perhaps too complex for the intermediate programmer like myself) and gives enough details of effects files (.fx) and HLSL to get you started in what looks like a fascinating and extremely powerful avenue. (The DirectX SDK is more-or-less useless with these.) It also has a wealth of tricks and tips ranging from floating point optimisations to "smart" ASSERTs.
Most of the code is relegated to the CD, which is where it should be, in my opinion. (Take note, Andre LaMothe!) Enough is retained in the body of the book to allow you to see what is going on, without needing to grind through pages of cut-and-pasted irrelevance.
It's very much an object-oriented approach rather than a procedural approach using classes as a notational convenience. This is the first book I've read that has let me see *why* classes are so much more powerful than procedures (rather than just extolling the academic virtues of them). For that alone the author is to be congratulated.
Read more ›
Comment | 
Was this review helpful to you?
10 of 10 people found the following review helpful
5.0 out of 5 stars Best Game Programming Book I Ever Bought! 16 May 2004
If you want to make the jump from novice game programmer to intermediate I can recommend no book more than this; regardless of your interest in 3D terrain programming. The author has included an excellent object-oriented quad-tree based engine that neatly fills the gap between the simplistic engines found in 'DirectX for Beginners'-type books and full-blown open source engines available for download on the internet. If you already know your matrix maths and how to initialise a DirectX surface but don't know where to go next this book is for you.
As for the book itself, it is written in simple and clean English, wisely relegating most of the actual code to the CD where it belongs. The book covers all the topics you would expect: Heightmap Generation, Level of Detail Algorithms, Sky Boxes etc. All are explained well.
Finally, special mention has to go to the Author's 'After-Sales Support'. Code-revisions are continually posted to the website [...] the most recent just this week almost a year after initial publication. These include tweaks and fixes to the core engine and the demos (inc. the 'Ocean Water' demo!).
For this price, Highly Recommended.
Oh, and if it helps, the Author works at Bungie Studios (makers of Halo).
Comment | 
Was this review helpful to you?
4 of 5 people found the following review helpful
5.0 out of 5 stars Everything in One 6 Sep 2003
This book is pretty much the only book I could find that properly covered terrain engines, i.e. it did something nobody else has done so it gets 5/5! There is a lot of information on the different aspects of writing a terrain based game, including data storage/organisation, an in depth discussion of programmable shaders and some groovy effect files on the CD. Personally, after reading the first few chapters I decided it worked better as a reference book than a read-all-at-once book (but there's nothing wrong with that).
The writing style is fairly good, with a few jumps here and there, where the author perhaps explains 1 thing too well and another not well enough, but this is true of most computer books.
Quadtrees are extremely well explained which are vital to any outdoor engine, and the blending of textures based on height to give a proper outdoor feel was extremely useful. Also included are sky spheres and lens flare which looks great, and water which perhaps wasn't quite as amazing.
A must for next-gen terrain programmers. It contains all the information needed that has not yet been properly documented in any single book, and very few mistakes! However be warned that although it does give an intro to games programming, it is not for begginers and you might one to get a book like 'The Zen Of 3D Game Programmer' by 'Peter Walsh' before reading '3D Terrain Engines' if you want to get the most out of it.
Basically, this book is one of a kind so buy it, but if u are unexperienced buy a more general book aswell!
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 3.2 out of 5 stars  26 reviews
10 of 10 people found the following review helpful
3.0 out of 5 stars Interesting ideas, many faults. 30 Aug 2003
By Amazon Customer - Published on Amazon.com
This is a tough book to recommend. If you need your hand held through detailed examples, this is not a good source at all, especially since the sample programs are (1) overly complex and platform-dependent and (2) slow and ugly. On the other hand, this DOES discuss texturing, quadtrees, a few CLOD algorithms, sky and water rendering, Perlin noise, and a few other things as they relate to terrain, and can be a useful source of ideas for the not-quite-novice. Yes, most of the information here can be found on the web, but that's true of practically any programming book.
By the way, a MAJOR annoyance here is the really rather astounding number of typos and basic usage errors ("discreet" vs. "discrete," etc) that somehow were not caught in editing. There seems be a trend to this effect in game programming books lately, but this one is really exceptionally error-ridden.
7 of 7 people found the following review helpful
2.0 out of 5 stars Talented Programmer, Poor Book Approach 2 Mar 2005
By Jason M. Black - Published on Amazon.com
Format:Paperback|Verified Purchase
While I do not doubt that Gregory Snook is a very talented programmer, the code shown in this book and on the accompanying CD are proof enough, I believe that this book is of no use to anyone except for the most experienced professionals who have weeks of time to burn learning about Terrain Engines. I am not the most experienced programmer, having only worked with C++ and DX for 4 years now, but the problem with this book is not in complex concepts, but in content. All of the fundamentals of creating and rendering terrain are covered, but the example code and the engine (Gaia) on the CD are overly complex for any sort of educational book. Possibly every single library that Snook referenced has special wrapper functions and classes around them, making an examination of any code snippet next to useless unless the reader has spent days going through dozens of wrapper classes learning all of Snook's syntax. While I do enjoy owning this book as a conceptual reference, I am afraid that it is next to useless as an aid in practical programming scenarios.
18 of 22 people found the following review helpful
2.0 out of 5 stars You need to enjoy digging through a lot of code... 28 July 2003
By N. Davidson - Published on Amazon.com
Not an easy book to learn from, all the code from the first demo program on up use the (complicated) final engine to do their rendering, and you'll have to go spelunking through it to try and figure out what's going on. The emphasis of this book is on the whole game engine itself and you're locked into his way of doing it, you're never given smaller programs that teach you how to do specific topics, it's all or nothing.
The first third of the book barely touches on terrain, you'll get overviews of things like memory management, resource pools, High Level Shader Language, render queue's, and a dozen other topics. And if you already have your own systems for these things or don't like his systems, too bad, because they are interwoven in the code throughout the rest of the book and it's difficult to seperate it out.
Like the review above, I have to agree that the terrain looks a bit aged for such a new book, and it runs slow on my P4 2.4ghz with GeForceFX card. I've seen plenty of recent games that look much better and run smooth as silk on my setup. You'll need a very high end system for his techniques to run smoothly on.
It's hard to recommend this book when you'll find much better tutorial code on the internet that's more to the point and has better looking results than you will get in this book. It does bring many techniques all together, but not in an easily learnable format when it comes to actually programming it.
4 of 4 people found the following review helpful
5.0 out of 5 stars Best terrain book available 11 Sep 2003
By David Witken - Published on Amazon.com
I picked up this book along with Trent Pollack's 'focus on 3D terrain programming'. Side-by-side, I'd advise anyone to pick up Snook's book. It has more information on terrain rendering and is well written. I'm still finding useful ideas in the sample code to use in my own shareware game. Of all the terrain books I've seen, this one is the best.
3 of 3 people found the following review helpful
5.0 out of 5 stars good book for game writers 13 Sep 2003
By Alex Hernandez - Published on Amazon.com
I've been working on my first game engine for a long time. This book was a big help in teaching all the missing pieces. For new game programmers, this book is really good. You need to know some C++ and Direct X, but the book is still helpful if you don't.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category