Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization (Other Sams) (英語) ペーパーバック – 2003/6/2
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
Today is the greatest time in history to be in the game business. We now have the technology to create games that look real! Sony's Playstation II, XBOX, and Game Cube are cool! But, all this technology isn't easy or trivial to understand - it takes really hard work and lots of Red Bull. The difficulty level of game programming has definitely been cranked up these days in relation to the skill set needed to make games. Andre LaMothe's follow-up book to Tricks of the Windows Game Programming Gurus is the one to read for the latest in 3D game programming. When readers are finished with Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization, they will be able to create a full 3D texture-mapped, lit video game for the PC with a software rasterizer they can write themselves. Moreover, they will understand the underlying principles of 3D graphics and be able to better understand and utilize 3D hardware today and in the future.
André LaMothe has been involved in the computing industry and technology for more than a quarter century. He holds degrees in mathematics, computer science, and electrical engineering, and is one of the rare individuals that actually did work at NASA at the age of 20 doing research. His early teens and twenties were filled with consulting for numerous Silicon Valley companies, where he learned the realities of running a business and worked on his multidisciplinary background in fields such as telecommunications, virtual reality, robotics, compiler design, 3D engines, artificial intelligence, and other areas of computing and engineering.
His company Xtreme Games LLC was one of the first and last true "indie" publishers with a soul. Later he founded the Xtreme Games Developer Conference (XGDC) to give game developers a low-cost alternative to the GDC. Lately he has been working on a number of projects, including eGamezone Networks, an online distribution system for games that's fair, fun, and has zero ads. Last but not least, he founded a new company, Nurve Networks LLC, to create handheld video game systems for value-minded consumers and hobbyists alike. Finally, he is the series editor for the world's largest game development series.
On a personal level, he likes everything extreme, from weightlifting, motorcycles, jet skis, and hotrods to "railing" on his blades. He has even trained extensively with the Shamrock Submission Fighting Team under the tutelage of Crazy Bob Cook, Frank Shamrock, and Javier Mendez. You probably don't want to get in an argument with him over DirectX or OpenGL - right or wrong, he will probably make you say uncle!
[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]
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.