Customer Reviews


55 Reviews
5 star:
 (45)
4 star:
 (5)
3 star:
 (1)
2 star:
 (3)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
Share your thoughts with other customers
Create your own review
 
 

The most helpful favourable review
The most helpful critical review


5.0 out of 5 stars Excellent and approachable 3D engine tutorial
In his latest book, "Tricks of the 3D Game Programming Gurus," André LaMothe develops a 3D software engine by adding new functionally sequentially through each successive chapter. The book is a little over 1600 pages, comes with a companion CD and retails for $59.99.
Writing a graphics engine in software may not seem all that sophisticated, but it...
Published on May 12 2004 by J. Jessup

versus
2.0 out of 5 stars Huge but should have been written five years ago
I have been a software rendering freak ever since I leaned to program, so don't take my review as the average opinion. I don't want to give myself too much credit but I think my comments are more useful to the really advanced grapics programmer.
First I was impressed by the book's size, but just looking at the table of content I realized there's a lot of things in it...
Published on Dec 10 2003 by Nicolas Capens


‹ Previous | 1 26 | Next ›
Most Helpful First | Newest First

5.0 out of 5 stars Excellent and approachable 3D engine tutorial, May 12 2004
By 
J. Jessup - See all my reviews
(REAL NAME)   
This review is from: Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization (Paperback)
In his latest book, "Tricks of the 3D Game Programming Gurus," André LaMothe develops a 3D software engine by adding new functionally sequentially through each successive chapter. The book is a little over 1600 pages, comes with a companion CD and retails for $59.99.
Writing a graphics engine in software may not seem all that sophisticated, but it is an excellent way to approach computer graphics. By having to write specific functions that are typically abstracted by a platform specific API (i.e. DirectX), LaMothe focuses on the underlying theory and provides the reader a conceptual framework that is easily adapted to various targets as need arises.
While this book is the second volume in the Tricks series, having read the first book is not essential. To handle the 2D graphics, audio, and input, LaMothe starts off with the engine developed from the first book with DirectX 7 - and builds the 3D software engine on top of it (through the course of the subsequent chapters).
The first section introduces DirectX, the basic game structure, and the previous library's functional interface. In order to maximize time (and pages) building the new 3D engine, LaMothe abstracts the DirectX and Win32 code by encapsulating the computer interface to a set of three libraries to handle window construction, input, and audio. The book adequately describes the basic foundations necessary to use DirectX and Win32 without dwelling on many of the specifics. The main objective is getting to the 3D portion of the book and a "black box" approach is best for the platform specific wrapper code.
The second section begins with linear algebra and trigonometry. The math section spans over one hundred pages and forms the basis of the math library described in the subsequent chapter. Having most of the fundamental groundwork in place, LaMothe begins to develop the pipeline for the 3D engine. From the local to world transform to projection, the sub-steps necessary for rasterization are well detailed and described. In order to read external model data, several functions are developed to parse the output of the modeling tools included on the companion CD. By the end of the section, the engine is able to render in wire-frame.
After having the basic engine in place, the book really takes off. LaMothe starts the third section of the book adding critical enhancements: lighting, texture mapping, clipping, and a depth buffer. Starting with the mathematical background, each topic is thoroughly explored then the functional changes to the engine API are presented. LaMothe writes in a clear and sometimes too familiar fashion. The book reads as though LaMothe is speaking directly to you while transcribing his thoughts to the page.
In the final section of the book, LaMothe tackles several advanced graphics topics: perspective texture mapping, spatial partitioning, shadows, and animation. The visibility chapter is particularly strong with an in-depth look at Binary Space Partitions (BSP trees) and various other portal techniques. The engine code and examples are well commented and makes it easy to jump back and forth from the book to the source code.
The companion CD is as robust as the book. It contains a bevy of additional resources - nearly 600 MB including all the source code covered in the text (with pre-compiled executables), the book's appendices, twenty five articles from various authors on everything from Artificial Intelligence to Pentium optimization, source code to Quake, and trial versions of some helpful game development tools, like Sound Forge and Paint Shop Pro, and the DirectX 9 SDK. The modeling tools are a very nice touch and add to the completeness of the overall text.
Simply put, this is a thoroughly satisfying book. While LaMothe's approach in developing the engine is sound, understand that he makes design choices throughout the book to specifically make a fast software engine (i.e. no shaders, no complex light models, lookup tables, etc.). The theory behind his choice in approach is the valuable part of the book and the engine is just a practical demonstration. A reader looking to develop their own engine or understand the details behind the scenes when using an API like DirectX will truly appreciate the effort LaMothe has undertaken.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4.0 out of 5 stars Excellent information, but not concise and not C++, Jan. 29 2004
By 
Rocco Balsamo (San Francisco, CA, United States) - See all my reviews
(REAL NAME)   
This review is from: Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization (Paperback)
This is an excellent book on writing a complete 3D engine in software from the smallest drawable element, the pixel. It is by far the best book available to teach low level graphics programming, and to learn the concepts behind how libraries such as OpenGL and DirectX actually work. It has it all, from the mathematics to coding techniques to optimization.
Unfortunately, the book is not without its faults. Some of the coding is just sloppy. For instance, Lamothe likes to use lots of global variables. Perhaps there is a slight performance increase with these optimizations, but I'm not sure if it's worth the time and effort of debugging code with lots of globals. This is especially true for people just learning the concepts. In my opinion, he should have left the optimization to the end of the book, after all the concepts had been taught.
Another problem is the use of C. Lamothe argues that it's easier to teach in C and that C is faster than C++. Honestly, this is 2004, and with Pentium's running in the 3GHz range, I think the speed difference is virtually non-existant. Perhaps there is a greater base of programmers that know C, but with nearly all college Computer Science programs teaching C++ and object oriented programming, the coding style seems a bit dated. Using C++ features could have greatly improved the clarity of the code.
The last problem is Lamothe's long-winded writing style. I understand that he's trying to make his book "fun" by including little anticdotes and jokes, but this 1700 page book could have been done in 1000 pages easily. He writes like people talk, and, for a technical book, that's not the best approach. Here's one example, a caption to a screenshot:
"You might notice a bit of similarity to the ancient game Tail Gunner. Mike, if you're reading this, did you ever get that Tail Gunner in your living room working?"
I wrote one paragraph about why this book is great, and three about why it sucks. That's not really fair; it is a wonderful book for REALLY LEARNING what's going on under the covers in OpenGL or DirectX. I only hope that the second edition comes back a bit neater, more consice, and with support for C++. It's a fantastic value and I highly recommend it.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2.0 out of 5 stars Huge but should have been written five years ago, Dec 10 2003
By 
Nicolas Capens (Ghent, Belgium) - See all my reviews
(REAL NAME)   
This review is from: Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization (Paperback)
I have been a software rendering freak ever since I leaned to program, so don't take my review as the average opinion. I don't want to give myself too much credit but I think my comments are more useful to the really advanced grapics programmer.
First I was impressed by the book's size, but just looking at the table of content I realized there's a lot of things in it that any programmer who even thinks about making a 3D game should already know. The other half of the book is stuffed with code listings that I find of little use while reading the theory. Maybe it's personal, and I'm saying this with the greatest respect, but I don't like the way Mr. LaMothe starts writing without "knowing where we'll end up" and the way he tries to make every math formula a "cool" magical spell. I'd liked to have seen it a bit more coherent too. Most chapters just add a bit of this and that to the previous chapter. That's of course fine for people who need to experiment a lot themselves to learn things, but I expected more of the so-called advanced 3D graphics and rasterization. Don't get me wrong it does cover some advanced tricks and it certainly makes you 'think 3D' but it's only the tip of the iceberg if you want to write a competent game.
So is it a bad book? No, not at all. Maybe I sounded too harsh because of my personal dissapointment, but I would have loved it a lot more if I read it five years ago. For starters, don't hesitate and get this book! It has the fundamentals of nearly everything in 3D game programming that would otherwise take you years to learn. All in all I'm only giving it two stars though since I believe it is generally overhyped.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4.0 out of 5 stars A few comments, Nov. 4 2003
By A Customer
This review is from: Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization (Paperback)
I am only 400 pages into this large 1700 page book, and the pace and explanation level is good for someone familiar but not expert in game programming. I am particularly confounded by a few aspects, and these are just a few things and do not comprise a full review in and of itself.
First, there is no errata sheet online or such. I have been told that they will update the book during new printings, but obviously this is not fast enough, as in 400 pages, I have already noticed on the order of 10-15 errors (if you do not count repeats mentioned below). I think instructive text authors should really take it upon themselves to follow through and list errors on an easily updatable format (i.e. webpage) especially when those errors can confuse learning readers.
Second, I found it a little disturbing that a text that has a decent amount of detail on math topics doesn't seem to recognize that there is no such thing as a matrix determinate, that the correct term is "determinant." This may seem like a nitpick, but how many hundreds/thousands of readers do you think will read this and continue to propogate this complete mispelling and mispronunciation? It's not a typo either, as every single reference to this mathematical element is spelled 'determinate.' It just puts into question how rigorous a proofreading was performed by anyone writing or endorsing the text.
I give it 4 stars because I am enjoying the book and I think (again, i have only read it partially) it will prove to be a very good read. However, these few details really glare at me as almost incredible flaws from a line of books I would have expected to have more professional polish. I am hoping anyone with any credits toward the book will take these comments to heart.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4.0 out of 5 stars Magnum Opus, Oct. 21 2003
By 
Karthik Kumar (Charlotte, North Carolina United States) - See all my reviews
This review is from: Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization (Paperback)
Others have commented well upon this book and I agree with most of the reviews. Frankly, I was getting tired of the whole programming scene nowadays, which is simply calling a bunch of APIs to get your job done. Many of the "amazing" demos that you see on 3D graphics are written by people who know nothing about how most of the algorithms work. The real brainy work is done by a small bunch of guys (like the dudes who wrote DirectX or OpenGL). Most "programmers" simply call a Direct3D API and voila, a textured 3D object with realistic lighting. What kind of lighting? What's the math behind it? They don't know and don't care either. If you fall in this category, this book is not for you. Get a book on Direct3D or something like that. But, if you really want to KNOW why things work the work they work, this book beats everything out there flat. This book is even better than computer graphics textbooks in my opinion. Yes, Foley and Vandam is the bible, but they leave it to your imagination and intelligence to implement whatever they talk about. This guy actually implements such advanced topics as lighting, shadows, etc. in SOFTWARE, without any hardware support. Such a feat is worthy of appreciation. Also, I don't know what that dude from Alabama was cribbing about. He probably falls in the "I made it, but I don't know how" category. He complains abt the demos, but I challenge him or anybody to create demos better than this, WITHOUT using hardware acceleration. The demo in the last chapter (the 2 monsters) is AWESOME. Yes, this book has some problems, notably the myriad typographic errors and Lamothe's bad coding style (very messy). But, that's a small price to pay, considering the amount you learn from this monster of a book.
Buy this book and you will never regret it...
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4.0 out of 5 stars How to write a software renderer in one volume, amazing., Sept. 12 2003
By 
Amazon Customer (Germantown, MD United States) - See all my reviews
This review is from: Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization (Paperback)
As others have said, this book teaches you how to write a realtime software renderer. This is an amazing enough achievement--there is a LOT of information here. And unlike the SUPER MEGA DIRECT3D AWESOME PROGRAMMING sort of book that seems to come out every month, this is stuff that is useful over the long term, not just until the next API revision. There's no other current book I know of that teaches this--ever since 3d acceleration got on the scene every single book on game graphics programming seems to have been on how to use whichever API. The great things about Lamothe's book have been plentifully written about in other reviews on here, so I won't dwell on that much. Suffice to say, if you want to learn an API, don't bother with this. If you want to learn how 3D graphics actually work, this is the book you need.
I do have a few problems with this book, though. LaMothe's writing style can get gratingly casual, and he's not nearly as funny as he seems to think he is. I'm not asking for an ultra-dry computer science textbook here, but the constant cheesy humor does get kind of tiring. LaMothe's coding style is ugly and haphazard (largely a personal judgement, I realize) and he uses very little in the way of C++ features, even in places where they would make things a lot more natural (again, personal preference). Finally, he spends far too much time explaining his own APIs, information that would really have been better off on the included CD, saving valuable pages for more rendering knowledge.
So, overall, a wonderful and useful book, with a few rough spots. I hope there'll be a second edition.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars The best investment I could have made, July 31 2003
By 
Munier Parker (Cape Town, Western Province South Africa) - See all my reviews
This review is from: Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization (Paperback)
There are about a million things I wanna say about the book. I think I'll start at 1. This is just about the most information jam packed book I've ever bought. Andre takes you *from the ground up*, explaining every nook and cranny to develop a 3D **realtime** engine. For those of you who wanna know how to use Direct 3D or openGL hardware, there are a million other books. If you wanna **understand** how the hardware is implemented, making your own engine, buy this book!! Andre explains the basic concepts, one at a time and provides the most astounding, dramatic, out of this world demos !!!! Everything from modelling, transformations, rasterization, viewing frustums, camera models, colour theory, samplng theory, animation, EVERYTHING is covered in the this - without any shortcuts. Aside from only gaining the knowledge on 3d engines, andre has set me in a different mode of thinking as far as programming is concerned. It definately has made me a better programmer, by applying techniques that he teaches, especially optimization. If you wanna know how to write your own 3D engine, wanna have a darn good time at doing it and dont mind spending a few bucks - BUY THIS BOOK ! It could not come more highly recommended. It is one of those best kept secrets.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars Fantastic book, but I must respond to this review...., July 25 2003
By A Customer
This review is from: Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization (Paperback)
In response to Eric H Lam's review, I must say something before people get the wrong idea about such an incredible book.
First and foremost, the *title* of the book is ADVANCED 3D GRAPHICS AND RASTERIZATION. The keyword "rasterization" is a pretty big clue as to what it's about. Of course it's not about Direct3D-- there are a trillion and a half books on that subject. This is the first truly modern book to explain highly optimized software rasterization techniques inside and out. The word "Direct3D" isn't even in the title, or on the cover, or on the back, or anywhere inside.
Secondly, anyone in a store can obviously take two glances at the inside of the book and realize that it's about software rasterization (again, see the title), and not about using a hardware API. Even Amazon has *97* sample pages printed. If you can't tell what a book is about in 97 pages, you may want to set your sights a bit lower than "3D game programming" and tackle "literacy" first.
Anyway, I've been waiting years for this book, as have plenty of game programmers I know and work with, and it's upsetting to see the product of such obviously hard work get trashed by someone who dropped $$on a book without even understanding what it's about. This book was *intentionally* written about software techniques to teach anyone how 3D graphics *actually work* from the absolute ground up. If you want an API reference, please look elsewhere. This book is about genuine understanding.
In short, this book is the complete package. Every last nut and bolt of 3D graphics is covered in detail. Faulting this book because it doesn't cover something it never intended to have anything to do with in the first place is ridiculous and totally unfair. It'd be like me complaining that Citizen Kane is a bad movie because it doesn't have enough robots and ninjas in it. Next time, please understand what you're paying for before you shell out the cash, and if you do find yourself repeatedly making mistakes on your purchases, please just accept the fault as your own instead of trying to blame the author. I'm sure you wouldn't appreciate toiling for 4 years on your masterwork only to find some uninformed reader trying to pin his own misunderstandings on you.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars Author Comments, July 25 2003
By 
necron "sfwebwraith" (Danville, CA United States) - See all my reviews
This review is from: Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization (Paperback)
I want to make it clear to all that are potentially buying this book. Tricks II is about SOFTWARE algorithms and rasterization. There is NO coverage of Direct3D, OpenGL, etc. If you're interested in learning about APIs then this is the wrong place. If you're interested in learning about HOW TO DO IT from plotting a pixel to Quake II technology then this book will show the way. I can say that there is nothing like this on the market, and probably never will be. The amount of time needed to illustrate multiple 3D engines, and technologies, build the demos, and try and make it fun, and engaging is simply too time consuming. I wrote this book for myself, when I was learning 3D graphics all I had was the BIBLE "Computer Graphics - Principles and Practice" which is fantastic, but lacks implementation, and practical examples. Thus, my goal for Tricks II was to re-create the algorithmic and mathematical vigor of Principles, but with a more grounded, and practical approach with real-time considerations. I personally guarantee you won't be dissapointed, the demos are very cool, and good starting points for a number of games types from; space, indoor, water, road, and fighting -- But, once again, if you want to learn boring APIs and not understand the fundamentals of 3D graphics, then don't look here! :)
Andre'
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2.0 out of 5 stars Absolutely no Direct3D covered, July 23 2003
By 
Eric H Lam (Quincy, MA United States) - See all my reviews
This review is from: Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization (Paperback)
I already bought this book hoping that it will give me insight on working with Direct3D code. Unfortunately, there isn't a single line of Direct3D code in this book. The entire book covers DirectDraw 7, and imitates all 3D graphics rendering in software mode. All the CD examples are in DirectDraw 7, the book does give you some insight and explanation in understanding 3D on how to code them in case you don't have a 3D graphics API available.
If you are programming games for the PocketPC and wanted to write your own custom 3D engine, this book is for you. This book is kind of the missing documentation for the "Doom" and "Doom II" source code.
If you want to learn the theories or get a better understanding of what 3D is, then get this book, but don't expect to see any Direct3D samples because there are none. There are no example code for it. All the code examples is emulated 3D using DirectDraw 7, not TRUE Direct3D.
I'm only keeping this book so I can use it to write my own 3D API for the PocketPC and Java-enabled cell phones.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


‹ Previous | 1 26 | Next ›
Most Helpful First | Newest First

This product

Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization
Used & New from: CDN$ 26.90
Add to wishlist See buying options
Only search this product's reviews