Amazon.co.uk Review
Aimed at the more experienced Windows C/C++ programmer,
Inside Direct3D delivers a solid introduction to the world of game development on the Microsoft DirectX platform. With coverage of the features and APIs used to create realistic 3D gaming graphics, this book can initiate any C++ developer into the world of DirectX.
This book is best at explaining the basic and advanced features in version 7 of DirectX, a gaming platform that includes numerous APIs such as Direct3D (for 3D graphics), DirectDraw (for 2D graphics) and DirectInput (for joystick input). This text explains how to implement such 3D effects as texture mapping, lighting effects, fog and stencil buffers (which can be used to create cinematic fade-in/fade-out effects, for instance).
Each section here traces a relevant section of the DirectX API, starting with DirectDraw, and then moving on to various aspects of Direct3D and other APIs. Standout chapters include a solid explanation of Direct3D's transformation and lighting pipeline (which combines the various 3D elements and effects into a single- rendered scene). There's also an introduction to using input devices (like joysticks) and an overview of multiplayer gaming. This book explains what functionality is available and shows off the applicable APIs.
The other standout here is the author's useful gaming engine (called RoadRage), which lets you try out DirectX graphics features hands-on. While game development is a huge topic, this title can definitely get you started by concentrating on the DirectX APIs themselves, with some appealing visual demos that show off the various graphics effects in action. For those with some previous DirectX knowledge, the bundled sample gaming engine is definitely worth the price of the book. --Richard Dragan
Topics covered: Overview of Microsoft DirectX 7; DirectX APIs: DirectDraw; Direct3D; DirectPlay; DirectInput; COM for game programmers; using the Microsoft Direct3D Framework; basic message handling; programming with DirectDraw; enumerating and selecting Direct3D devices; windowed and full-screen modes; flipping and selecting surfaces; Direct3D Immediate Mode features and APIs; the Transformation and Lighting (T & L) pipeline; vertices; the strided vertex format; viewports; types of lighting; rendering 3D scenes; primitive types (point lists, line lists, triangle stripes and triangle fans); render states; keyboard and joystick input with DirectInput; force feedback; texturing; texture management; texture compression and the DXT format; bipmaps; texture filtering; texture blending and wrapping; fog effects; alpha blending; light mapping; cinematic effects with stencil buffers; 3D models and animation (segmented and single-mesh characters); Direct3D optimization hints; multi-player gaming, and RoadRage (sample custom gaming engine).