Andrˇ LaMothe
To be an ordinary programmer is one thing: You need only learn how to interact with the computer on its own terms, creating buttons and combo boxes that have no significance away from the screen. To be a game programmer--particularly one that writes games with environments that appear three-dimensional to their players--is something else entirely. Such work requires that the flat screen simulate the real world, complete with light, shading, texture, gravity, and momentum. It's all quite complicated.
Tricks of the 3D Game Programming Gurus helps its readers make great progress in creating 3D worlds and the action that goes on in them.
That this large, dense book manages to explain how to design and implement a 3D game while neither glossing over too many details nor swamping the reader with trivia is a credit to author André LaMothe. He opens by showing (and explaining) the C++ source code of a simple but full-fledged 3D spaceflight shooter game--a real boost to the reader's confidence. From there, he explains the complicated geometric concepts and mathematics that underlie realistic games (always with an eye toward software algorithms) and shows how to use the many APIs and libraries (including Microsoft DirectX 9.0) that make the world-builder's job easier. Make no mistake: Designing and building convincing games with 3D visuals and behaviors that convincingly approximate real-world physics is hard work. In this book, LaMothe helps you get it done and enjoy the process. --David Wall
Topics covered: How to design and build 3D worlds and the goings-on within them. Aside from mathematics and geometry, this book focuses on wireframe models, shading, rendering, and animation. Microsoft DirectX 9.0 gets special attention.
1 The best practical book on 3D software rasterization ever.
I have read this book cover to cover and I find it to be LaMothe's best work. The demos alone are amazing, pure software, but yet run in real time. I recommend this book to anyone that wants to learn the math behind writing 3D engines and anyone that want's to learn from an expert coder of 3D engines the tricks of the trade to make 3D engines without the use of acceleration hardware. Additionally, whomever posted the "nowhere" post is obviously a jealous programmer or competing author. Many of the reviewers have posted their emails, I suggest that anyone that wants to ask other reviewers simply email the people. I hate people that waste time putting up completely useless and obviously vidictive posts without any tangible points to make other than their own obvious attempts at slandering the author.
This book rocks, if you don't think so, pick up a copy at the local bookstore and read it there. Also, there are a number of excerpts here that you can review as well.
2 False Advertisement
The major majority of the 5 star reviews on this book appear to all be written by people who have only reviewed only this one book on Amazon.com.
This to me makes it abundently clear that the author, of whom I happen to have read books from before, is clearly getting his "buddies" to write 5 star reviews so he can cash in on what is obviously a thrown together book.
This sort of behavior of "false" reviews shows poor ethics and business practices and I am now honestly considering to never buy anything with the name "LaMothe" on it ever again.
3 3D Game Programming
Want to create a cool 3D-based computer game? This book will help you become a great 3D game programmer. This book went to a great length to give you a solid knowledge on 3D game programming. The author of this book puts in great effort and many pages on explaining 3D programming clearly as possible. Because he wants reader to become the next generation professional 3D game programmer. I like his style of writing and its easy to follow and understand. I highly recommend this book on gaining knowledge on 3D game programming. Andre LaMothe is the pro in 3D game programming.
4 A Top-Notch reference!
Well, let me explain my 3. The book is great and I love LaMothe's writing style. I'm also more a mathmatician than I am a programmer so I really enjoyed almost all of it (most 3D Books tell you how to program something without you having a clue what it's doing, very frustrating). All in all it's a really good book.
Though it lacks compared to TOTWGPG in that, it skips out completely on implementation in hardware, which was frustrating since finding a good source of cohearsing DirectX to do what you want is hard to come by, especially in this "Managed" day-and-age.
Anyway, in short, great for understanding the math for some beginner to advanced techniques, but definetely not the only one to have on your shelf if you actually plan to program anything.
5 so much - yet so missing
This book could be improved by the following:
use devcpp for win lusers and include it on the book cd - it's free
make sure code works on gcc in linux
use sdl - then the code will work on linux and the other oses
- sdl is free - why use directdraw54 and directinput90abc? that wont work for linux or mac users.
assembly code should use nasm instead of vc - nasm is free
use blender for 3d models - free
whoaaa - mmx or sse...
where's the 3dnow? maybe the author is getting money from intel below the table but most people i know have amd rigs we want to know about 3dnow - why the intel loving? (update the book to include 3dnow)
With all of the above changes we would've had a completely stand alone book with fully working compiler, 3d tools, etc. That would've been awesome.
6 One book to cover them all
That's a great book! It teaches you how to program a 3D software engine from scratch. The book starts with a simple "hello, world" program and covers the needed 3D math, rendering, animation, physics and optimization. If you are interested in game development you should definitely get it.
7 Very good books by LaMothe
Another in what, a series spanning over a decade now. LaMothe brings up subject matter in a way others merely glean over. This time he takes what you learned from the previous book, Tricks of the Windows Game Programming Gurus, and gets into 16-bit color, real 3D issues and solutions, a large section on math and geometry derivations, model formats and loading issues, presentation, AI, sound and a host of other nuances that you'll run into during game design and implementation phases.
HOWEVER: I thought it would benefit readers to repeat an important aspect of this book.
This book is the SECOND book on this subject. The FIRST book; Tricks of the Windows Game Programming Gurus, contains the build up of the base library he uses and adds to. If you can't scan through the first chapter of this second book, you need to understand this. He makes it perfectly clear that this book will not break down the library he uses from the first book. The source is of course contained on the CD with this book, so you can do the lookup yourself. But if you are looking for the book to get started, get the first one. AFTER you've read the first one and have an intimate grasp of it, move on to this one. The techniques and subsequent additions he makes to the original library will be more than a bit confusing if you haven't read these books in sequence and don't understand what he's doing. If you've already done other reading on DirectX or made a simple DirectX window or fullscreen then you won't feel so lost. I believe this reiterates what the previous reviews stated. This is not a flights-of-fancy beginners book. That's the purpose of the first book.
This is the problem you will find with a lot of other "beginner's" books. Their first book is written and talks about the authors library which is already written. With LaMothe, he wrote them in order with the true beginner in mind.
You MUST have a very good understanding of C at the least, C++ would give you the best basis to read and implement his code. I say this because this engine is completely software driven and uses DirectX 7.0. It compiles fine with 9.0 because MS still includes the interfaces for DX 7.0. If you don't know what that means then you need the first book.
If you are expecting to have an engine that does what the latest commercial engines do, don't. The graphics pipeline he uses is software. But you will know more than enough about the basics of an entire 3D engine pipeline along with the peripheral engines; AI, Physics, Sound, Input, when you're done that you'll be ready to look at other available engines in a whole new light.
I'm not a fan of his writing style nor his sense of humor. I'm the guy who likes tech manuals. Once you get past the unneeded pages of his tangents and humorous anecdotes you will find some of the best information available on the foundations used in designing and implementing a workable 3D engine. If any of the information above, such as "pipeline" and "interfaces" doesn't makes sense, this book will overwhelm you from chapter 1. Get the first one. It's big, It's green, It's the HOW-TO of getting DirectX and Windows to work together to make a black DirectX window. Once you're there and understand how you got there, this book will take you into advanced subject matter.
I recommend this book highly if you've read the first. And even though the book title says Adv. 3D Graphics and Rasterization (the process of presenting a scene on the screen), LaMothe shows you the other things that go into a real game engine. This book does deal with advanced geometric mathematics, so have the relevant resources available when you get lost. He'll only hold your hand if you can stand on your own two feet in this department, it's not a math book.
8 Comprehensive
This book rocks.
It teaches you how to program a software 3D graphics engine from the ground up. Notice I said create a software graphics engine and not how to use hardware API to create an engine. This book doesn't cover the hardware 3D APIs, Direct 3D and Open GL. It shows how those libraries were created. With this knowledge learning any 3D API is greatly simplified because you have an idea of what is going on behind the senses. The math necessary for 3d graphics is introduced with a no nonsense approach which ignores theory and concentrates on application. Math covered is 2D, 3D Coordinate systems, Very basic Trigonometry, Vector operations, Matrix Operations, Introduction to Quaternion, and some basic calculus.
If you're not already at the college math level then you may need some supplementary material in this area, but this is not the book's fault it is simply that nature of 3D graphics. Bottom line if you want to work with 3D graphics you'll have to get a handle on the math and this book gives you a good guideline for which areas of math are important.
The optimization chapter is worth the price of the book alone, honestly. The author explains SSE, and shows how to use many tools which can track down the slow areas of your code. He explains how to use the Intel C++ compiler which integrates itself directly into the Visual C++ IDE. The compiler that generates the fastest code is Intel's compiler which makes sense considering they make the Chips!. If you already consider yourself really good with 3D graphics do yourself a favor and go to a bookstore and thumb through the optimization chapter.
A few words of warning however. If you don't consider yourself a very good C/C++ programmer then you will be lost. If you can not create a simple windows application using the Win32 API then this book is probably a little too advanced for you. (...) If you look these over and have a good idea of what is going on and want to learn more about 3d graphics then this is THE book.
9 Try it before...
I'm a software developer, working for a big company (big M).
There's only one author better than Andr¸ in this stuff (I mean trying to explain how a 3D engine works without accelerators) his names? Mr. Abrash the King(Zen of ASM..,Zen of Code opt,Black book).
Only one thing that explain how useful this book is:
Who drives the hardware manufacturer (ATI, NVIDIA) crafting their HW chips that all of ya use and loves?
The manifest difference between a Directx poor programmer and a "3D Innovator that knows how it happens" stands in this book so take it now, learn the basis and contribute to change the next Directx or OpenGL set of API's :D
Ciao
10 The God of 3d programming books
Out of all the programming books I've read, Andre LaMothe is the best author. He is not lazy, and when it comes to something as sophisticated as 3d game programming, he takes about 1600 pages so that you can understand it all, inside and out.
Throughout the book, LaMothe takes you on the journey of creating a 3d engine. The engine is a software engine, meaning your 3d card won't help rasterize the graphics, which means the graphics will be slower and not look as nice. But by the end of the book, you will have learned so much from programming a software engine, that going on to Direct3D or OpenGL shouldn't seem to hard. Of course, you could stick with the software engine that you create by the end of this and use it to make full playable 3d games.
LaMothe goes through everything you need to create a 3d engine. Now that I have read the book, not only do I have confidence I could build a pretty sweet Direct3D engine, I feel I understand how 3d engines and graphics work much more in-depth. If you're not sure where to begin your study of 3d game programming, start here. As far as I'm concerned, this book is the god of 3d game programming books.
11 Go for it !
This book is an excellent way to get started in 3d.It covers all u need to know to implement a software engine yourself.
This book covers z-buffering, BSP trees, lighting, texture mapping, alpha blending, 1/z buffering etc. and it is simple
enough for a newbie programmer to understand because the code is mostly in C.
I simply cant believe that LaMothe could cover all this topics in a single book.The demos are excellent.
This book is a must-buy if you are serious about game/graphics programming.
12 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 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.
13 Perfect Book - 3D Graphics from the Ground Up to the Sky!
Excellent!!! I've bought a lot of graphics programming books lately...about three dozen! And all of Andre LaMothe's Books are superb. This book on 3D Graphics is an expansion of his first book on Windows Graphics Programming. It's worth every penny, and for beginners he teaches you from the ground up, starting with one pixel on the screen. The Demos are great, the source code is easy to understand. The explanations are laid out in a very great conversational quality. I haven't put this book on the shelf since I've got it, it's always open! I've only endorsed one book on the internet, and this is the one, because I think that it is so great! This book would be an excellent reference for programmers also! The accompanying CD is worth it's weight in gold, Andre LaMothe really knows what he is doing!
14 The best game programming book available
I read few reviews here in which some of the people said that Lamothe's C style of coding sucks and he explains in a lengthy and boring manner. Please...please...please...Haven't you read the back cover of the book ? Lamothe said that by reading this book, a NEWBIE in game programming can write a Quake II kind of engine. That means it is more concentrated on newbies. By Object oriented programming, a beginner may lose interest by feeling the complexity of OOP. Writing in C style will be simple for a newbie to understand.
Lamothe also teaches us concepts in a funny way by which one can feel the nativeness. For all the newbies, this book is a must buy. For all the senior game programmers, who code in OOP can still buy the book for variety of concepts it deals with.
15 Read this book if you want to learn game programming
I have read many game programming books, and I must say this is simply the best. It is well written and comes with a wealth of solid code samples ranging from small examples to entire games. Andre' begins with the basics of Windows and DirectX programming, then before tackling the more complex topics of 3D rendering he covers the Mathematics required to truly understand game and graphics programming.
The sections on 3D math and advanced 3D rendering are what set this book apart from the crowd, by covering more than the normal superficial overview. These sections alone are worth buying the book.
16 Excellent information, but not concise and not C++
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.
17 Yeh.. buy this gem.
As long as you buying a book on game programming... This is the book to buy. If you can hold your own as a C or C++ programmer and want to learn games programming.. this is a gem. A big gem!
18 Lamothe is a 2nd rate programmer
if you want to get confused by a trillion optimizations in the parts where understanding is the most important, by all means get this book.
Lamothe is still stuck in the mid-70's C days. He claims C++ is "hard to teach in" because it is confusing. I think it is more confusing to him than to any modern programmer. Old C is by far more confusing in my opinion.
This book is 1700 pages long - a big chunk of it is almost pure code dump, that could easily fit on a CD (and does). The old-fashioned programming style, combined with his optimizations down to the assembler level makes the code hard to understand. I believe it is time for Lamothe to enter the 21st century with his programming style, and get out of the 70's.
19 You can't go wrong!
I can't believe LaMothe's book is only $35! It's huge, for sure, but it's not the size - it's the breadth and depth of his coverage of the subject and his gift for detailed clarity that is so impressive. I've been buying programming books since my first Fortran manual back in 1974 and have bought hundreds since then but this one has become one of my all time favorites. Trust me - I've bought some crap programming books in my time and wasted more money than most people ever spend in their lifetime on some that were tauted as being so wonderful but this ain't one of 'em.
[Don't buy this book if you're not already a pretty good C and/or C++ programmer - you won't learn the language here]
20 Don't even listen to haters!!!
First of all, I would like to say that this book is probably the only thing that you'll be needing to learn 3D graphics/game programming.
And "Mr. LaMothe" is the greatest computer programming author that I know of. But heck, that's my opinion, right?
The bottom line is that this book is not out of date, and you will only read it only if YOU want to read it. Therefor you will not listen to haters,
and if you think that this book is pretty cool, you'll give it a try. The first week when you buy the book, read it, do you like it? Keep it.
Did you not like it? Return the book back to the bookstore. From common sense every book store gives a satisfaction guarantee right?
Note to haters: you're wasting web space and bandwidth =D
21 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 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.
22 Sam's needs errata page
For 35 lousy bucks one gets an unbelievable amount of knowledge.
However, there are mistakes and they need to be documented. e.g
on the top of pg 548 he states that " tan(theta) = y/x, and in this case, y is the distance and x is related to the width." In fact, x is the distance and y is related to the width.
Tan(theta) = screen width/(2* view distance). d should = 320 in
his example on fig 6.32. No big deal, but for programming books, it's all about the details.
23 It's a wonderful book in the world's game!
I'm reading the book and it's very explicative, the author LaMothe give us details about mathematics and others subjects that we can learn with facility. He is a good teacher and in this book, I feel like a student in a class room.!!!
Thanks you Andre LaMothe for your great work, this book should be awarded !
P.S. I'm a beginner in game programming, and I was afraid about mathematics, but after this book, .... it's so happiness
24 Brilliance
This book changed the way I think about programming. For starters, I'm currently taking high school C++, and it is also my first year of programming. When I saw the sheer size of ths book, I was intimidated, yet also intrigued, since I do like computer games. I bought the book as sort of a challenge to myself; however, LaMothe's excellent writing style and demos allow me to easily navigate and compile full windows game engines. Bottom line: easily the best book purchase of my life.
25 If one, this one !!
They are not so many people who know deeply what they are talking about and definitely Andr? LaMothe is one of them.
This book is well writen with all technical data needed in order to write a 3D engine.
The author presents all the necessary math but not more.
For me, this book is suitable for beginners to advanced programmers.
Also its price is really cheap comparatively to its size and mainly all the precious information contained in it.
If you want to understand how a 3D engine is built (for exeample DirectX) this book is actually the best for you.
26 A few comments
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.
27 if nothing else, get it for the optimization chapter
i have about 100 books on programming in total, and most of them are on graphics and games because thats my favorite subject. however, none of them cover optimization in the REAL WORLD. andre's latest book actually DOES cover how to write super fast code using modern and relevant techniques and tools. examples include using the Intel Compiler, V-Tune (how many people ACTUALLY know how to use V-Tune? about 2% of the people who claim they do, from my experience), and even coverage of how to speed your code by 4x in some cases using the special SIMD instruction extensions. the whole book is a gem but the optimization stuff struck a nerve with me in particular, because i have been waiting so %*(#*% long for a book that ACTUALLY discusses it and isnt just a marketing ploy on the cover. thank you andre, i think you've restored my faith in game dev books. =)
28 The demos alone blew my mind!
Anyone who has this book knows what I am talking about. The demo programs included with this book do more with a software engine than any book on hardware 3D programming i've ever seen. The jet ski one in particular is so great. I turned it into a whole jet ski game! i am currently working on a fighting game using the awesome mech demo at the end of the book. whenever i get a new computer book I always start by going over the CD demos, and this is one of the few books i've ever really been excited about after just seeing the demos! Of course the book itself is a monster; there is so much info in this thing i am going to be busy for quite a long time. in other words, i got well more than my money's worth, and would recommend this to ANYONE who has an interest in games or graphics programming.
29 the best coverage of polygon rasterization I've ever seen...
never before has a book covered the details of super-optimized polygon rasterization so thoroughly. I do directx dev at home on the pc and am working on a software 3d engine for the pocketpc at work, and this book has been a life saver on both fronts. in particular, the huge coverage on high-speed polygon drawing has been invaluable, and the more i read the faster i get. the author takes a step-by-step approach where you keep improving the code until finally its lightening fast. the beauty, though, is that youve seen every step along the way so you understand ALL of it. out of all the books on my shelf this is the first one that makes the WHOLE path from start to finish so clear. without this book my ppc engine wouldnt be half as fast as its shaping up to be now, and even my d3d stuff at home is improving due to the 3d engine structuring and organization skills this book is teaching me. no matter what you do, if you're into gfx programming, this is required reading.
30 Magnum Opus
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...
31 Very chaotic package of articles
The whole book looks like a chaotic package of articles. Some of them are too long, some are too short. There is no path, that leads you through the book. The author constantly tells you how great he is. The visual appearance of the example programs is not very pleasant. The performance of the examples is very low. You won't be able to use this engine in a real-world application.
32 Software only, but still a good book
This book covers software rendering, which is still useful to understand. I'm writing my own engine in DirectX, but this book helped me understand how rendering works underneath. If you are not writing a DirectX game using hardware, I'd say read this book.
33 How to write a software renderer in one volume, amazing.
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.
34 The Best book on software redering technique
well, this book is not about how to use all sorts of spectacular graphics features out of today's hardware. this book teaches you how you can mimic those effects without calling a bunch of API calls. Yeah, it's true that you can't build a 3d engine that uses full features of geforce or radeon by reading this book. But, as the author points out in the book, to be a great graphics programmer, you need to know how to do it yourself!!!
35 3 simple words...
Thank you Andre.
I have read every book that I am aware of that Andre has had his hands in. All I can say with this title is "Bravo". It was worth the wait.
36 The best investment I could have made
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.
37 Best Yet
This is by far the best book I have read for the combination of complete coverage, understandable descriptions of the algorithms, and working code examples. If you are new to 3D or confused by what you have read in the past, this is the book for you. I now feel I have a much better understanding of 3D that I can build upon. This book as given me new confidence and renewed my interest in a difficult subject.
38 LaMothe at his best
Without doubt Andre' LaMothe is the best Author in game programming filed , his book is the best book i have ever read , i have a large library of Game Programming Books , All My Books Includes His Name.
The Book Teaches You The 3D Game Programming Using The Software what it means there is no DX or GL , but as He said ( If You understood This Book , You Will Learn Those Api(s) In a 2 weeks) , sure i belive him , my skills are updated when i read this book , i finished it , i think now im a master 3d games :) . i always buy all books written by LaMothe .
Thanks Andre LaMothe For Your Efforts.
Note: If Author stayed about 4 years writting a book , what do you think of that ?! .
Ahmed Saleh , CEO EgyptGames.llc
39 LaMothe at his best
Without doubt Andre' LaMothe is the best Author in game programming filed , his book is the best book i have ever read , i have a large library of Game Programming Books , All My Books Includes His Name.
The Book Teaches You The 3D Game Programming Using The Software what it means there is no DX or GL , but as He said ( If You understood This Book , You Will Learn Those Api(s) In a 2 weeks) , sure i belive him , my skills are updated when i read this book , i finished it , i think now im a master 3d games :) . i always buy all books written by LaMothe .
Thanks Andre LaMothe For Your Efforts.
Note: If Author stayed about 4 years writting a book , what do you think of that ?! .
Ahmed Saleh , CEO EgyptGames.llc
40 Fantastic book, but I must respond to this review....
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.
41 Author Comments
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'
42 Absolutely no Direct3D covered
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.
43 Yet another gem!
I can't stop raving about this series. I admit it took me about 2 years to fully digest the first book (Tricks of the Windows Game Programming Gurus) but I got there and now I am busy with the first couple of chapters.
All I can say is that if I can understand this stuff, then anyone can thanks to the authors clear and concise style.
What really amazed me about Andre is how ready and willing he is to personally respond to problems and queries. Unfortunately the book I bought contained a physically cracked CD rendering it unusable. A quick email to Andre and he very kindly helped me to get my hands on the source code. It is great to see that this GURU can still find the time to respond to the 'little people'.
Andre, many thanks and keep up the good work.....
44 A Must-Have for 3D Game Programmers
Simply put, this book is amazing. I'm a 3D game programmer myself, even written a couple books on the matter (*cough* Focus on 3D Terrain Programming *cough*). I've read just about every major book on 3D graphics and a heck of a lot of books on game programming, and I can safely say that this is THE best of both worlds. I've never seen a book this thorough before in my life. Andre, who I know from personal experiences as a great guy, really shows his incredible knowledge of 3D graphics, and even game programming in general. It's nice to be able to read through an explanation and think "wow, this guy definately knows his stuff inside and out".
Absolutely great work. I know it was a long time in the writing, but, from my point of view at least, it was very much worth it. Don't listen to the nay-sayers that throw this book off the mark due to it's lack of using Direct3D or OpenGL. This book teaches you what's most important about 3D graphics: THE THEORY! How are you supposed to program 3D games by solely knowing how a 3D API function changes a scene? You can't. You not only need to know how the function changes the scene, but WHY it works the way it does and, some times, how it can be improved.
If you're a beginner lost in a 3D void, this is definately the book for you. However, it's almost more important to note that if you're an intermediate programmer who has EVER wondered about the "why" behind 3D graphics, then this book is also definately for you. Just buy it.
45 A brilliant solution to the wrong problem...
Before you buy this book, be warned that it will only teach you how to develop a software rendering engine, that is to render graphics without taking advantage of hardware acceleration... and you should know that this is not how modern games are developed. So if you want a kick by the humorous Lamothian style
and a not too abstact introduction to 3D graphics concepts buy this book, but if you are looking for a good text on how to implement a real world 3D engine or game, well you will have to wait since this book doesn't exist yet! Or you will have to do like all other newbies game developers.. hunt through lots of books and SDK documentations....
I am very disappointed because I had the impression that with this book Lamothe had stopped writing "fake, for dummies" books
useful only for his bank account and had taken the effort to write something less nice and easy but "REAL"
46 So You Want To Be A Game Programmer?
Andre Lamothe easily stands out as one of the most well written programming authors in the business, and for those of us that actually want to learn how to blit sprites to a screen or manipulate 3d space, Tricks of the Windows Game Programming Gurus and Tricks of the Windows 3D Game Programming Gurus are required reading. And not only required, but fun and inspiring. These books are more a Compendium of game design methodologies than tricks, so expect to learn ALOT of useful information that you can apply. My only nag was the absence of workspaces from the cd in this version, but that's easily overlooked when you see the size of this book, and the sheer quantity of knowledge it contains. Lamothe is a master, and gives his readers everything he has-the result is excellence.
47 Best 3D book available
Unlike most of the books I have on the subject of 3D programming in Windows, this book DOES NOT regurgitate or
paraphrase the Microsoft MSDN about Direct3D. This is one of the few books with real, reusable algorithms and code for building real 3D game engines :)
48 Info! Info! DAMN GOOD INFO!
If you want to learn how to use Direct3D, you will not find anything in this book telling you how to initialize/create/ call methods or any of that stuff. But what you will find is how to write your own engine and how Direct3D or similar APIs work.
Once you can absorb the content of this book -and there is a lot of it once you hit chapters 9 and up -learning Direct3D/OpenGL would be a breeze.
Refresh your MATH skills cause you'll need it!
49 Info! Info! DAMN GOOD INFO!
If you want to learn how to use Direct3D, you will not find anything in this book telling you how to initialize/create/ call methods or any of that stuff. But what you will find is how to write your own engine and how Direct3D or similar APIs work.
Once you can absorb the content of this book -and there is a lot of it once you hit chapters 9 and up -learning Direct3D/OpenGL would be a breeze.
Refresh your MATH skills cause you'll need it!
50 Unbelievable!
Ever want to build a complete 3D game engine from scratch, including a level editor? This book is totally impressive. I was eagerly anticipating this book after having read Lamothe's Tricks I.. this has gone WAY beyond what I expected. From a deep matrix math primer including quaternions, to scratch-loading and transforming mesh objects, camera and lighting elements, all without DirectX calls. A MUST for definitive game programming. If you're new to game programming I highly recommend reading Tricks I, then this one...you'll be blown away!
51 ...WOW!
LaMothe has done it again, he wrote another GREAT book.. I really like his style of writing and the humor mixed through the technical details...
Better refresh your math skills, before reading this book! It contains lots of it!
Also you might want to visit a sports school before you start reading. You will feel it in your arms when reading this book, its HEAVY! Stuffed with information!
52 Very nice!
This book is pretty much one of a kind; there no other books out there that can demonstrate the creation of a basic software 3D engine while covering 3D theory in depth! Really, I would advise anyone and everyone against buying any general 3D programming book that only demonstrates the use of an API: You can learn that stuff from the SDK docs, folks!
Although the things you learn in this book will not be directly applicable to PC programming (there is absolutely no more reason to write a software 3D engine for the PC anymore regardless of what anyone thinks), this book will tremendously help your understanding of 3D graphics and make it a piece of cake to master any 3D API.
Of course, I can't end this review without complaining about something, even if it's not a huge issue: I really can't stand LaMothe's coding style. It's so ugly it just pisses me off, especially the naming conventions he uses for his functions. He himself says he uses C++ in his own projects, so would it really kill him to use at least a little overloading here and there to make his code a bit more readable? Also, many of the code optimizations he proposes are rather ridiculous. Bit shifts are NOT going to speed up your code, and the very idea of using all those globals gives me nightmares. =)
Regardless, since you are expected to already be a competent programmer in order to understand this book, you probably won't be infected by the style he adopts here, so the above is not much of an issue. If you want an in-depth introduction to computer graphics and are willing to take the time and effort to thoroughly learn this complex subject, I highly recommend this book.
53 I Know It Is GooooooooooooooD
You might be wondering for why I rate this book 5 while I did not even read it, or yet to be delivered to me.
Andrˇ is a killing author, and sure a killing programmer. I do really like his style in explaining, writing, finishing the code, in which I followed since the first C/C++ program I wrote.
He added a massive knowledge into my little brain when I first bought the legendary earlier book 'Tricks of the Game Programming Gurus' and then nothing happened after that but more and more great books every now and then.
I really can't wait until opening the first page of 'Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization', not only to see and follow what he say, but also to enjoy reading his funny jokes and comments.
Thanks Andrˇ, Sams and whomever contributed in bringing this baby to life, and wish you all the best in your upcoming books.
54 If books had a killer app this would be it
this book is the coolest thing I have ever seen. i am a HARD CORE warez webmaster and i rarely buy anything, but lamothe always delivers and this new book is without a doubt his best. i don't know how he does this, the book is actually not 1760 pages, its more like 2000 since the appendices are on the CD, i can't write 10 pages, he's a machine. as far as the book goes, i have written emulators, mame ports, and more, but i am weak in 3d, this is my new bible, its in my backpack, and where i go, it goes -- my only complaint is that why can't books be color now? with digital printing technology, i would think it could be done, the screen shots arent done justice in grayshade -- its a game book you would think the publisher could find a way to make it color on the inside?
55 If books had a killer app this would be it
this book is the coolest thing I have ever seen. i am a HARD CORE warez webmaster and i rarely buy anything, but lamothe always delivers and this new book is without a doubt his best. i don't know how he does this, the book is actually not 1760 pages, its more like 2000 since the appendices are on the CD, i can't write 10 pages, he's a machine. as far as the book goes, i have written emulators, mame ports, and more, but i am weak in 3d, this is my new bible, its in my backpack, and where i go, it goes -- my only complaint is that why can't books be color now? with digital printing technology, i would think it could be done, the screen shots arent done justice in grayshade -- its a game book you would think the publisher could find a way to make it color on the inside?
56 HUGE info!
Can't tell you how packed this book is--- this book has more game programming info than I could believe anyone could write about! Great demos too. Lamothe went deep into creating an entire 3D game engine from scratch, very cool! If you want a complete behind-the-scenes game dev book, unlike those shallow game books loaded with DirectX API calls, this is the one.
57 MOST IMPRESSIVE --
I am a professional game developers working on smartphones, PPC, and Palm OS platforms. Previously, I have developed for PCs at Activision, and EA years ago. My latest games are using the Xforge 3D engine (which is another story). But, when I developed in the mid 90's I can tell you that I wrote more than one 3D engine myself, but always simple flat shaded, 8-bit stuff. Trying to get a 16-bit colored software engine with texturing is VERY difficult. I just got this book and ran the demos, and I am amazed at the speed of the code. The code is not even optimized (the author writes the code for readability), but still I am amazed at it's speed. This is definitely an attestment to the skill of the author as a programmer, to write code that out of the box is this optimal and still is readable is amazing to me. I can truthfully say, I think of myself as being pretty knowledgable at computer graphics, but I could never get a full 6 DOF 3D engine working with all the features that this educational engine has outlined in the book. The bottom line is that if you want to learn how to REALLY make a 3D engine then this is going to show you how -- but be warned this is not easy material, and will take you a while to understand -- my goal is to sit down with this book and write a complete RGB, textured, 3D engine with lighting for the PPC. And I am already on my way, the authors code is pretty clean (I wish he used C++ though), and compiles nicely, so I am going to port almost directly and then optimize it -- this is a great resource, thanks Mr. Lamothe.
58 Teacher gives good grade to Lamothe's latest work
I am an instructor at a junior college and I teach game programming, multimedia, and computer graphics. I have used Lamothe's books in the past, especially his dummies and TYGP in 21 days work years ago myself. The students love his writing and examples. This year I am attempting a course on 3D graphics a theoretical basis, but my students are not advanced enough to absorb the standard math bases academic texts. TRicks of the 3D game programming Gurus, is "exactly" what I have been looking, and its been released at the perfect time for winter semester. As a teacher, I can tell you that after reading the first 3 chapters, I am very impressed with the book and where it's going. And Lamothe has obviously spent a huge effort explaning things and then creating demos of everything. This book is not going to teach you bleeding edge shader programming, but if you are looking for a text to learn advanced rendering and software techniques, I highly recommend this.
59 the best thing i've bought all year
I've always wanted a book that would help me with some of the more advanced complications with programming sophisticated 3d algorithms and now I have my bible. There is nothing more I can say accept that I am beyond satisfied with this masterpiece. This is an extremely useful tool for learning and referencing secrets to creating what could be the most state of the art 3d games around. Of course that all depends on YOUR imagination, which no book can give you. Still, this book is all one needs if game programming is your thing. It would probably help to have Tricks of the Windows Game Programming Guru's (second edition) as well, which has been recently updated I think, if you're completely new to game development.
60 THANK GOD ITS BETTER THAN I COULD HAVE IMAGINED
WOW. I CAN'T BELIEVE HOW GREAT THIS BOOK IS. Have you ever bought a book on 3d modeling or algorithms and found out how much it sucked? I was sceptical about this one... but was I ever wrong. This has got to be the greatest 3d game programming book on the market to day, if not just for the fact that it's practical and well written, and vrey very easy to understand. I wish all tech books were this great. It was a great refresher on some 3d rendering techniques, and I learned SO much new stuff that I found myself pleased WAY beyond my expectations. BUY IT!
61 The book of all 3d game programming books
i have already finished this book after only a week of owning it and i cant believe how great it is. i thought id never be able to understand this 3d stuff but lamothe makes it cake! the examples were easy to follow and grasp and im already working on my first game using an engine im writing myself. its a shame that game developers out there keep these kinds of things to themselves and im glad someone like this lamothe guy came around and brought us up to speed on the 3d game programming world. this is a must buy for any person interested in making games.
62 A Great place to start
I just finished chapter one of Tricks of the 3D game programming gurus and I knew NOTHING about 3D graphics, but now I feel confident I finally am going to be able to understand all of the concepts. The author starts off by starting from nothing, but the perspective equations and a little about 3D space and in no time has you writing a complete game that fits on a few pages of code -- Raiders 3D. This little game is amazing. I can't think of any other book that delivers like this, and I am only on chapter 2 now! I have bought numerous 3D books like Principles of interactive computer graphics, and they are defintiely thorough, but they are just too hard to follow, if I wanted to read a math book they would be great, but maybe the authors think readers are just too smart -- I am a little slower and need to be shown how to do it. This is a GREAT book, but I had some trouble running some of the demos on my slow machine (only 700 mhz). I know the book recommends a 1-2 ghz machine, so I am not upset, but it would have been nice if they ran faster on my slow machine!
63 OH MY GOD TRICKS II ROCKS!
I just got my copy of Tricks II and I have been playing with the demos non-stop, recompiling them, and moding them. This book is the COOLEST thing I have ever seen about computer graphics. I used to be a DOS programmer way back when and actually read "tricks and tips of the game programming gurus", but got out of it when DirectX and windows got involved. I finally bit the bullet and learned windows and directX from lamoths other book Tricks I. Also, he seems to be like a really cool guy, I emailed him about a problem and he literally responded in minutes..My own friends don't email me back that fast -- Tricks II is definitely fills the bill as the ultimate on software rasterization -- now all I have to do is actually read the whole thing!
64 The cover of the book alone speaks for itself...
I am not a hard core game programmer, I get in and out of it when cool things come up, but I am sick of 3D acceleration and shader programming, I feel like I don't do anything, but make API calls. My friend told me about this new book and it covers how to make a realtime 3D engine in software, so I thought I would check it out. I have a MS in computer science, so I know my way around 3d graphics, but frankly I have never implemented a realtime 3d engine -- that's really serious stuff. But, reading thru the book (I have only read the first 10-20 pages of each chapter so far), I can tell you, this book is going to do the job. The demos are friggin amazing for software, I have never seen anything like it. I mean he even did a demo of realtime multipass rendering, I can't believe it! So if you're looking to understand 3d graphics then I highly recommened this. My only gripe is that the book is very long, maybe he should have broke it into 3 volumes?
65 incredible amount of detail
this is easily the biggest computer book i own, and i can already tell it's one of the best. i just got this a few days ago, and have already read 2 chapters and skimmed almost all the rest. all i can say is that i'm speechless. this is the book that graphics professionals and hobbyists have been wanting for years, it explains everything from the ground up in an easy to understand but thorough manner. i have at least 10 books on my shelf that were a total dissapointment because the author didn't really understand what they were teaching and the details were sorely lacking. this book is entirely different. so far the depth of information here looks to be more than almost any other book i have. i can't recommend this enough and can't wait until i have time to get back to reading it.
66 Well worth the wait!
This book has been in development for years and now I can see why. This is not another silly API book that regurgitates the same mile-long function references and likewarm 3D math primer. This is a book on how 3D graphics actually WORK, from plotting your first pixel to making a complete 3D game engine! If you actually want to UNDERSTAND 3d game development, this is the book for you. If you're using DirectX or OpenGL, this book will teach you how your API and hardware is actually doing the things it does, allowing you to take much better advantage of it and write optimal code. If you're coding for a new platform like GBA or the wireless/PDA platforms, you'll have to write your own 3D engine in software anyway, and this book tells you EXACTLY how. I'm already nearing the end of chapter 5 ("building a math engine") and I can't stop reading. I particularly can't wait for the chapter at the end on optimization, but there's so much cool stuff in between. Go see the table of contents for yourself! This is the book i've been waiting for since i started programminmg.