amazon.co.uk:
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.
amazon.co.uk:
Many popular computer games include entire outdoor environments and making these environments realistic and fast is a challenge for even the best programmers. This text is written to teach users how to design a complete 3D game engine for outdoor environments using DirectX and C++. Covering everything from the fundamentals of DirectX 9, and creating realistic weather effects, to advanced terrain geometry management, the book works through the complete construction of a robust outdoor game engine. This is a practical reference for any programmer tasked with creating a realistic outdoor environment.
amazon.com:
With recent advancements in programmable 3D rendering hardware, game developers can create engines capable of making complete outdoor landscapes. Many of todayfs 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 gReal-Time 3D Terrain Engine.h 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 youfre ready to move into 3D engine design and real-time terrain visualization.
ON the CD-ROM
* The complete real-time 3D terrain engine documented in the book
* All model, texture, and effect files
* The Microsoft DirectX 9 SDK
* 3DEM (Visualization Software LLC) and a demo of T2 (Keith Ditchburn) to help you create your own terrain
System Requirements:
Windows 2000/XP,Pentium III Processor 1Ghz+, DirectX 9 compatible video card providing hardware-accelerated, programmable vertex, and pixel shaders (NVIDIA® GeForce™ chipsets (versions 3, 4, FX, or greater) and the ATI® Radeon™ chipset (8500 series and greater), CD/Hard Drive, 128 MB RAM (256 MB recommended), 500 MB of free disk space is required to install the DirectX 9 SDK, the sample source code, and the tools provided. Sample code was written using Microsoft Visual Studio.NET® (Visual Studio 7.0), which is the recommended compiler for working along with this book. Project files are also provided for Microsoft Visual Studio® version 6.0 for convenience. Compilers from other vendors might compile these files, but have not been tested. The source code is intended for Microsoft Windows XP, but might also function under Windows 98, Windows ME, or Windows 2000. However, support for these older versions of Microsoft Windows is not guaranteed because DirectX 9.0 drivers might not be available for all video cards on these older operating systems. DirectX is Licensed Software, the use of which is governed by an English language break-the-seal EULA inside the Licensed Software.
Not a good product
13 Sep 2006 @ amazon.com
Although the author may be a good programmer, I wouldn’t recommend his book.
It’s a bad book
12 Sep 2006 @ amazon.com
Firstly, that book is not for beginners, so you should know DirectX previously. The engine explanation are tedious and short, and the author copies a lot of code in every page. You must know some engine programming knowledge prior to understand what he does.
The demo is awful and slow! It could be perfectly from 90’s, but I have seen infinitely much better terrain engines than this one.
The terrain algorithms are well explained. The water effects are poor and ugly.
Good book but fairly old
12 Sep 2006 @ amazon.com
Although the 3D demo is quite ugly, the ideas inside are pretty interesting. The most interesting part is the engine development, which turns out really useful and its encapsulation allows you to improve your terrain optimization algorithm very easily.
Excellent Book
17 Jun 2006 @ amazon.com
There are a great many terrain rendering white papers and other resources available online. Greg Snook’s book helps you to take a lot of that information and put it together into a workable terrain engine. If you just picked up a compiler yesterday, or don’t know the difference between an x-axis and a z-axis, this book isn’t going to help you. While he does offer some primer material, the focus of the book is on the terrain engine.
This isn’t a hand-holding book, either. Snook explains the topics at a level that is understandable and digestable. It’s not abstract, like white papers, but neither is it paint-by-numbers. If you are the sort of person who requires step-by-step code samples, this book is beyond your level. Snook knows what he is talking about and he explains it well.
Each topic is covered in detail. When examining the terrain rendering algorithms, Snook discusses the strengths and weaknesses of each. He spends whole sections explaining error metrics and split levels. Never have I seen a book that covers terrain rendering in such detail. It’s well worth the price you pay for it.
I know that some people like code they can just copy and paste. Most example code that accompanies a book is just that and, usually, isn’t at all optimized. Often error handling is left out "for clarity". Snook takes no short cuts. This terrain engine he developed isn’t just a bunch of example code, it’s the real deal. Studying some of the support code, such as the resource system, is a lesson itself. There is much to learn from this book and the Gaia engine beyond terrain rendering.
Talented Programmer, Poor Book Approach
02 Mar 2005 @ amazon.com
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.
serious problem in writing style.
02 Feb 2005 @ amazon.com
I’m not a native english speaker. But I used to live in US for a while. And also Andre Lamothe’s books make big senses to me.
With this background, I conclude that the author of this book doesn’t know how to explain something. For example, while explaining quadtree, he doesn’t talk anything about setting up quadtree for a terrain data. Instead, suddenly he talks about moving objects around quadtree. Even worse, that moving objects around quadtree doesn’t make any sense either. Even worse, he says "oh my terrain engine works". I really don’t know what he wants to show us.
It’s almost like "focus on terrain ..." book written by a high school kid.
I’d rather dig internet for terrain handling algorithms than buy those two books.
Pompous.
10 Nov 2004 @ amazon.com
Beware purchasing this book. It’s written in such a way that only makes sense if you wrote it, particularly the code (a maze of jargon completely lacking in any clear explaination). And believe me, sticking with it until you can understand it does NOT help. Not only are the methods overly-complicated, they are also piss-poor in terms of performance and flexibility. Three months later, and I’m still angry I bought this book.
Great book from an experienced programmer.
22 May 2004 @ amazon.com
The book is exactly how the title describes it. It is developing a 3d terrain engine and if that is what you are looking to do then this is well worth the 30 bucks, in my opinion. The author is an experienced programmer and it shows through the code. The design of the engine is elegant and if you learn nothing else from the book you will at least walk away with a better understanding of engine design.
The book not only shows you the theory behind terrain programming but also resource management, scene management and integrating pixel and vertex shaders. This book seems to always be laying around open on my desk.
Best Game Programming Book I Ever Bought!
16 May 2004 @ amazon.com
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 www.mightystudios.com; 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).
Best Game Programming Book I Ever Bought!
16 May 2004 @ amazon.co.uk
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 www.mightystudios.com; 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).
It’s awesome
25 Apr 2004 @ amazon.com
I got this book not knowing anything about terrain programming. However, after reading it I felt very comfortable with the subject and was able to use and extend the gaia engine. The thing I like most about this book is how packed with information it is. Many other books are so watered down that they never delve into deeper issues on the subject. This book, on the other hand, was very potent and informative. I also gained a great deal of knowledge on aspects of game engines such as resource managers, and render queues. All in all, this is my favorite book on game programming. I highly recommend it!
Good but not great
17 Sep 2003 @ amazon.com
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.
In the end, the fifth star is missing because the quality of the graphics supplied is so poor - this is, after all, a graphics programming book! (I formed the impression that the author didn’t want to "waste" any of his "good" textures, and the skydome background is an embarassment.) With better quality textures, and larger terrains, some real showpieces could have been produced. Occlusion culling would have been nice too.
I also have some reservations about the scalability of the code - I was getting unacceptably low frame rates with the (tiny) demo terrains on a RADEON 9000 Pro / P4 2.4GHz which, while not cutting edge, is not that far off the pace.
To summarise: well worth the purchase price, but don’t expect marvellous demos.
Good but not great
17 Sep 2003 @ amazon.co.uk
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.
In the end, the fifth star is missing because the quality of the graphics supplied is so poor - this is, after all, a graphics programming book! (I formed the impression that the author didn’t want to "waste" any of his "good" textures, and the skydome background is an embarassment.) With better quality textures, and larger terrains, some real showpieces could have been produced. Occlusion culling would have been nice too.
I also have some reservations about the scalability of the code - I was getting unacceptably low frame rates with the (tiny) demo terrains on a RADEON 9000 Pro / P4 2.4GHz which, while not cutting edge, is not that far off the pace.
To summarise: well worth the purchase price, but don’t expect marvellous demos.
Everything in One
06 Sep 2003 @ amazon.com
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!
Everything in One
06 Sep 2003 @ amazon.co.uk
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!