Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
Advanced 3D Game Programming with DirectX 9.0

Advanced 3D Game Programming with DirectX 9.0

List Price: $59.95
Your Price: $39.57
Product Info Reviews

<< 1 >>

Rating: 2 stars
Summary: Confusing, unfocused, incomplete
Review: "Advanced 3D Game Programming with DirectX 9.0" by Peter Walsh covers a broad range of subjects critical to making games: graphics, artificial intelligence, networking, and mathematics. Priced at just under $60, the book contains eleven chapters that span approximately 520 pages.

The first chapter, "Windows" describes how to create a window and respond to some of the common Windows messaging events. The chapter defines several custom classes that loosely resemble code created by Visual Studio's workspace wizard but cleaner and in a Win32 flavor. These classes form the framework for a generic Windows game.

The next three chapters (Getting Started with DirectX, DirectInput, and DirectSound) show how to compile and link DirectX with your application and initialize two of the sub-systems found in DirectX, DirectSound and DirectInput. The sub-systems are briefly highlighted and wrapper classes are given to simplify their usage. The DirectInput and DirectSound chapters focus on initialization of each system rather than exploring the more sophisticated uses of each system like force feedback or dynamic audio mixing.

Chapters on 3D math, artificial intelligence, and networking follow. The math chapter provides basic math definitions like the dot and cross products as well as container classes for vectors and matrices. The AI chapter is brief. Readers seeking to gain a deeper understanding should read the chapter in conjunction with a decent college text that describes fundamental search routines like A* or Djkstra's algorithm. Lastly, the networking chapter relies on WinSock without mentioning DirectPlay. Classes are provided to encapsulate the network layer of a game. While all three chapters are essential to game programming, none adequately covered the complexity and nuances of each subject given the space provided.

The remaining chapters presented in the last fifth of the book discuss rendering and are easily the highpoint of the text. Walsh attempts to detail advanced topics like multi-texture and multi-pass rendering using the fixed function pipeline. Yet despite featuring DirectX 9.0, many of the new SDK features were missing from the text such as vertex and pixel shaders, displacement maps, or the two-sided stencil mode. Beginning with lighting and fog parameters, Walsh explores several sophisticated graphics techniques including the mathematics of animation, subdivision of surfaces, radiosity, and progressive meshes. Then, examples of multi-pass texture mapping (light maps, environment maps, and glow maps) are provided to illustrate various DirectX render states. Last, Walsh discusses scene management to assist in reducing the number of objects drawn per frame by using portals to test visibility and octrees.

For the price of the book, a companion CD containing the source code would have been beneficial. When I downloaded the sample code to try them out, three of the four examples crashed because DirectX device wasn't successfully initialized when rendering began on my GeForce4. Since the examples executed in full-screen mode, the computer needed to be rebooted. Additionally, the sample code contained a couple C/C++ techniques that are not commonly found in game development: exceptions and nameless unions. Support for exceptions can add to the size of a program and slow its execution speed while unions hinder portability and create potential memory alignment issues that are compiler dependant.

I found the book's title at odds with the subject matter. Generally, Walsh provided an overview of the basic theory, API calls, and usage. When more details would help clarify understanding of a point, the reader was often referred to the DirectX SDK help. As an experienced developer, I found very little of value in this book. While Walsh attempts to cover a broad spectrum of subjects, none of the topics are adequately explored leaving the seasoned reader with nothing but an unsatisfying overview and possibly a reference to the SDK help file.

Rating: 2 stars
Summary: A minimal update of the DirectX 7.0 edition
Review: "Advanced 3D Game Programming with DirectX 9.0" by Peter Walsh covers a broad range of subjects critical to making games: graphics, artificial intelligence, networking, and mathematics. Priced at just under $60, the book contains eleven chapters that span approximately 520 pages.

The first chapter, "Windows" describes how to create a window and respond to some of the common Windows messaging events. The chapter defines several custom classes that loosely resemble code created by Visual Studio's workspace wizard but cleaner and in a Win32 flavor. These classes form the framework for a generic Windows game.

The next three chapters (Getting Started with DirectX, DirectInput, and DirectSound) show how to compile and link DirectX with your application and initialize two of the sub-systems found in DirectX, DirectSound and DirectInput. The sub-systems are briefly highlighted and wrapper classes are given to simplify their usage. The DirectInput and DirectSound chapters focus on initialization of each system rather than exploring the more sophisticated uses of each system like force feedback or dynamic audio mixing.

Chapters on 3D math, artificial intelligence, and networking follow. The math chapter provides basic math definitions like the dot and cross products as well as container classes for vectors and matrices. The AI chapter is brief. Readers seeking to gain a deeper understanding should read the chapter in conjunction with a decent college text that describes fundamental search routines like A* or Djkstra's algorithm. Lastly, the networking chapter relies on WinSock without mentioning DirectPlay. Classes are provided to encapsulate the network layer of a game. While all three chapters are essential to game programming, none adequately covered the complexity and nuances of each subject given the space provided.

The remaining chapters presented in the last fifth of the book discuss rendering and are easily the highpoint of the text. Walsh attempts to detail advanced topics like multi-texture and multi-pass rendering using the fixed function pipeline. Yet despite featuring DirectX 9.0, many of the new SDK features were missing from the text such as vertex and pixel shaders, displacement maps, or the two-sided stencil mode. Beginning with lighting and fog parameters, Walsh explores several sophisticated graphics techniques including the mathematics of animation, subdivision of surfaces, radiosity, and progressive meshes. Then, examples of multi-pass texture mapping (light maps, environment maps, and glow maps) are provided to illustrate various DirectX render states. Last, Walsh discusses scene management to assist in reducing the number of objects drawn per frame by using portals to test visibility and octrees.

For the price of the book, a companion CD containing the source code would have been beneficial. When I downloaded the sample code to try them out, three of the four examples crashed because DirectX device wasn't successfully initialized when rendering began on my GeForce4. Since the examples executed in full-screen mode, the computer needed to be rebooted. Additionally, the sample code contained a couple C/C++ techniques that are not commonly found in game development: exceptions and nameless unions. Support for exceptions can add to the size of a program and slow its execution speed while unions hinder portability and create potential memory alignment issues that are compiler dependant.

I found the book's title at odds with the subject matter. Generally, Walsh provided an overview of the basic theory, API calls, and usage. When more details would help clarify understanding of a point, the reader was often referred to the DirectX SDK help. As an experienced developer, I found very little of value in this book. While Walsh attempts to cover a broad spectrum of subjects, none of the topics are adequately explored leaving the seasoned reader with nothing but an unsatisfying overview and possibly a reference to the SDK help file.

Rating: 4 stars
Summary: Excellent textbook for a short course
Review: Because it covers all principal topics on game programming in a straight to the point way and with C++ code, makes it a practical book for learning fast and concise. it is possible to develop an application in less than a semester. I recommend it to students and people who prefer reading a book than the DX API documentation from the screen. Hope to see "Advanced 3D Game programming with DX10" someday (anyway it should be called "Intermediate" instead of "Advanced")

Rating: 2 stars
Summary: Confusing, unfocused, incomplete
Review: I bought this book to advance from what I've learned with Microsoft samples and tutorials. The book introduces basic concepts in the first few chapters then did not provide any concrete examples or explanations. It doesn't even offer any examples on how to create a simple geometry in DX!! The coding style is so different from what MS offered that I had a hard time adapting. On contrary to the misleading title "Advanced 3D Game Programming...", it strays off and attempt to cover DirectPlay, DirectSound, 3D Math, AI(even!), and DirectInput in short chapters instead of focusing on D3D in-depth.
To make the long story short, I'm back on Amazon looking for a decent book and revisiting Microsoft tutorials during the wait. Don't make the mistake of buying this book. I totally agree with everyone else's reviews! If only I checked the reviews on Amazon first :(

Rating: 5 stars
Summary: Great book! ...but I would have liked a little more
Review: I learned programming DirectX 8 months ago just using the SDK, and that created several holes of knowledge on my mind. Now with Advanced 3D Programming with DirectX 9.0, I filled out the missing ideas. This book is clearly explained, and the intro sections could guide a newbie into the field of 3D programming. The code is also easy to understand, and many tables of structures and values where printed on the book, so you don't have to look inside the SDK. Most common fields and values where bolded and explained, making this book useful as a short reference, that's nice. Also, I really enjoyed looking at the pictures on how lighting, texture operations and many other techniques modify the 3D scene. This book is well illustrated.

The main problem I found is that many discussions where skiped because "there isn't enough space on this book", as the authors wrote. For example, I read in the index there was a section about Stencil Buffers. When I opened that page there was a little intro of half a sheet saying that I could use stencils to create real time shadows, and I would get more on the stencil topic later. The mention of this shadow technique made me really interested! But when I got to the real stencil section there was just a title and two lines saying that shadows and mirrors are a nifty use of stencil buffers. I think the authors should have removed some dicussions on old techniques, and placed one or two pages on this topic and others that are modern and advanced. A larger discussion on 3D file formats should also be placed on this book, and should be a must on any other 3D programming book, because not many things for games you can do with dinamically created spheres and boxes. I mean, for game development you need models and animated models, the same as textures with transparency, and those doesn't come from the programmers, but from the artists.

Anyway, IMHO this books is greatly explained, even for newbies. That's why I give 5 stars.

Rating: 1 stars
Summary: Save your money and buy something else
Review: I only rate this one star because I cannot rate it no stars.
I don't know why they bother updating this book everytime a new version of DirectX comes out. It sucks everytime.
What they should do is throw out everything they have and start over.

Rating: 1 stars
Summary: Save your money and buy something else
Review: I only rate this one star because I cannot rate it no stars.
I don't know why they bother updating this book everytime a new version of DirectX comes out. It sucks everytime.
What they should do is throw out everything they have and start over.

Rating: 1 stars
Summary: This book has no direction whatsoever.
Review: Words cannot explain what I think about this book.

There are most definately better books out there on the topic of Advanced 3D game programming with DirectX 9.0


<< 1 >>

© 2004, ReviewFocus or its affiliates