|
3 of 3 people found the following review helpful:
5.0 out of 5 stars
Excellent book, exactly what DirectX8 beginners need!, 29 Oct 2001
By A Customer
I approached this book with some trepidation, having already purchased the "Beginning Direct3D Games Programming" book in the Primatech series. I was appalled at the quality of that book, and was a little worried about this one - same publisher and all.I needn't have been. From the outset, this book was excellent. Aimed at precisely the right level & complexity, it showed me step by step the basics of DirectX with 2D & 3D code, right up to more intermediate topics, such as frame based heirarchial systems. Peter Walsh's informal style of writing made topics very easy to understand, and he seemed to know exactly where the difficulties lay. He's hit this one on the head. The book starts off with a slow and easy introduction to computer graphics, and the technical side of things. It then moves onto basic 2D operations (an absolute must, which many books leave out altogether), showing you how to create a font rasteriser, 2d animated sprite engine, and layer scroller. Great stuff. Next, we move onto basic 3D. This is begun with a brief introduction to 3D mathematics, and this is where the book shines. Throughout, some relatively complex mathematical operations are talked about, but if you are useless at maths you are not crippled from continuing through the book. The concepts are explained, and most importantly they work. Through the 3D section we move from "2d 3d graphics" (ie: using the 3d portion of DirectX to create 2D objects), then onto simple rotation & scaling. Next, a brief dip into DirectInput - very useful. We then build up a more complex object - a rotating & scaled texturemapped cube using index buffers in object space, and then move on to the final creation of a solar system model. Thats the book. Now, some points. Firstly, do not expect to pick this book up and either come out the other side as a fully fledged 3d coder, or to read the book and have a Quake-beater at the end of it. This is NOT what the book does. As you progress, you build up a library of classes that you can put together *yourself*, and create some great stuff with. It's a firm grounding in DirectX, and thats what we need. There are very few beginner resources out there, but plenty of intermediate to advanced ones. After reading this book, you'll be able to understand them. One other useful feature of this book. There is a very good D3D COM reference in one of the appendicies. It's already saved me time searching the SDK Docs. Onto the bad points. Firstly, as all the Primatech books in this series do, it suffers from bad pagesetting. It could be worse, but occasionally you really have to look at the example code to find the changes. Secondly, because of the first point, you may find yourself spending hours searching for a simple bug. Which will inevitably lead you to the CD & example source. Leading to: Thirdly, the CD with it's example source is a NIGHTMARE. Total and utter screwup. Some of the code on the CD is corrupted and un-loadable. The example 3D Engine code itself is in one HUGE header file, which is extremely bad practice, and hard to read. However, the majority of it you can load & does work properly, which is a blessing. Fourthly, the book promotes a "searchable HTML version" on the CD. Uh, no. It's not there. I looked. There is a nice eval copy of Paintshop pro though. Don't know why, it's free to download. Fifthly, the bits it misses. There is no room for mipmapping, a proper explanation of world-modelspace, alpha blending et al. There is, however, a 35page C++ introduction. WHY!? If you don't know C++, don't even think about reading this book. That may seem like a lot of negative points, but they aren't as major as it seems. I would wholeheartedly recommend this book to anyone wishing to start learning DirectX. It will put you on the right path, get you through the painfully steep beginner learning curve, and you'll come out the other side with a good understanding of the basics and where to go next. I'd like to see another book in this series from Peter Walsh, a more advanced version of this one.
|