Advanced 3D Game Programming Using DirectX 9.0
Peter Walsh (Author)
# Format: CHM
# Size: 4.2MB
# Paperback: 600 pages
# Publisher: Wordware Publishing, Inc.; 600 edition (May 25, 2003)
# Language: English
# ISBN-10: 1556229682
# ISBN-13: 978-1556229688
01 When downloaded use WinRar or a similar program to extract files.
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.