Most Helpful Customer Reviews
17 of 18 people found the following review helpful:
2.0 out of 5 stars
Could have been a great book, but oh well..., November 21, 2005
This review is from: Beginning DirectX 9 (Game Development Series) (Paperback)
I was initially impressed with this book, even after seeing a couple pages of utter garbage in the first part. All I wanted was a quick review before my serious books came, and having programmed DX before I could promptly correct and move on, but enough was enough!
I can best describe parts of this book as rough notes fed to a blender and then pasted into the chapters with a leaf-blower. That goes for the `code' samples as well.
For a complete beginner these errors may be significant enough to possibly detract and frustrate the learning experience. Not a good thing, especially considering that's the book's targeted audience. There is no excuse for this.
More advanced developers will cringe and cringe until they finally damage something or hurt someone as they throw this waste across their office. Also not a good thing.
An alternative book that covers the same ground quite a bit more soundly is Frank Luna's Introduction to 3D Game Programming with DX9, which I finally received & promptly read from one end to the other & moved on to other books now. It's a solid work bolted tight with some good code.
2 Stars, for a publishing a work containing some content I wouldn't even turn in as homework.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
12 of 12 people found the following review helpful:
3.0 out of 5 stars
Fantastic and miserable, August 2, 2004
This review is from: Beginning DirectX 9 (Game Development Series) (Paperback)
Beginning DirectX 9's strong points are solid organization, simple language, great introductory examples and good content. Its weak points are the supplementary CD examples (most of which do NOT work), its typoes and poor proofreading.
The first thing the avid programming-book reader will notice is that a good 66% of the book is devoted just to Direct3D! This might seem like a bad thing, but after having read the entire book, the reader does acheive a satisfactory level of coherence and familiarity with the many interfaces discussed. The author, Wendy Jones, explains the major components of DirectX with a consistent approach of first introducing the steps of initialization and utilization and then diving into the specifics. This repetitive style allows the reader to grasp the parallelism of the various components of DirectX and not be too intimidated by it.
Jones steers away from getting too hefty on the advanced computer lingo (or the "Chapter 4: Well i'm showing you this, but it can be done using orthonormal orientation vectors that i'll explain later in chapter 52"-type statements popular to this genre ehem Lamothe ehem Luna). Instead, she gives the reader the essential materials necessary to implement the newest version of DirectX in the simplest language and content possible. Where confusing off-topic structures were optional, she completely avoided them and this leads to fast comprehension.
To get you started, the author gives one of the most superb examples I've seen on the topic. All it does is setup the D3D device, set the mode and clear the screen blue, but it's a matter of what complexities she avoided to get the point across: programming with DirectX IS POSSIBLE! Other examples are not as specific, not so much a walkthrough but will give the reader the tools he/she is looking for.
The pitfalls begin when you pop in that supplementary CD-ROM; (I often check those out first to get a gist of the scope of the book and what I'll be learning). Barely any of the executables run! Consequently, the reader is left not deciphering the code that already works but trying to decipher the text so he/she can hopefully get their own example running. The CD-ROMs in game programming books can make or break them, in this case, it harshly affected my opinion of the text.
Another downside to the book is the poor proofreading the publisher did! Keywords like 'if' are spelled 'If'! RGB is sometimes spelled RBB. This sentence was also allowed to print: "DirectInput, like other components of DirectX, is initialized in a similar manner to other DirectX components." This is not only redundant it's nonsensical. Though these be entertaining, they are CONFUSING and make one doubt the validity of further code snippets and interface explanations.
So it seems this books high points are as high as its low points are low. (If my rating for this book were a 2D sprite, its y position would be indirectly proportional to its z-buffer) Ineffective jokes aside, Beginning DirectX 9 is definitely a worthwhile read. It will give you that general introduction that you desperately need and not discourage you with the complexities of DirectX. Though a little editing might have been needed, its strongpoints overcome.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
16 of 19 people found the following review helpful:
1.0 out of 5 stars
Typos and poor proofreading, August 18, 2004
This review is from: Beginning DirectX 9 (Game Development Series) (Paperback)
There is already a review of this book that gives a very good description of it's strengths and weaknesses by M. Velez "gpbook dork". I just wanted to support some of his facts.
Chapter 4 and 5 are horrendous, the first chapters on 3D rendering. It switches CUSTOMVERTEX structures without any notice and stops giving compileable examples. Even within subsections the variables used to represent a particular buffer change.
There are comments that define the structure, and then the structure is different (XYZ_UV in the code snippet comment, and then XYZ_ARGB in the code).
The most insulting error takes place on page 96 in Chapter 5. Keep in mind at no point has the word "dolphin" been used in the book prior to this (my comments *'ed):
// Set the indices to use
m_pd3dDevice->SetIndices( m_pDolphinIB ); // *I thought we were calling it iBuffer... and is it m_pd3d or pd3d?
// Call DrawIndexdPrimitive to draw the object using the indices
m_pd3dDevice->DrawIndexedPrimitive( D3DPT_TRIANGLELIST,
0, // BaseVertexIndex
0, // MinIndex
m_dwNumDolphinVertices, // NumVertices *When did we declare this?
0, //StartIndex
m_dwNumDolphinFaces ); // primitive count *We didn't declare this either
So we locked a different buffer and then draw this out of the blue buffer? It's insulting to think I bought a book that clearly uses the code from the DirectX provided samples.
There are much better books on introductory DirectX, and this one is just a ripoff of the DirectX tutorials. Do not expect ANY intermediate or advanced topics out of this book, I know it never claimed to, but most "beginner" books I have read go a bit further than this.
... any typos in my post are meant for irony (what do you want... i'm a programmer not an editor, i can't spell correctly)
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|