Rating: Summary: Wow...it's actually a *GOOD* D3D book! Review: I can't belive it. I've finally found a *good* book on Direct3D. I've read almost all of the other D3D books out there and 90% of them have...well...sucked. This one is a very nice exception to that rule. It discusses Direct3D. Not 150 pages on how to set up your window, how all of the math works, etc. It assumes you know most of that and dives right into the meat of Direct3D and how to make it do what you want it to do. I highly recommend this book if you already know the basics of 3D programming, understand the math of transformations, understand how Windows programming works, and you just want to apply all this to D3D. Good stuff...
Rating: Summary: Get this book! Review: I am working my way through the book over this weekend, but so far it has everything I was wanting in a book about DirectX8.Unlike that waste of time book by Parberry, this book really does cover DirectX 8. Thank you Engel & Geva.
Rating: Summary: This book rules!!! Review: This book exceeded my expectations in several ways. I have read many books on game programming including Andre Lamothe's Tricks of the game programming gurus and was afraid I had bought a rehash of things I had already read. This couldn't be farther from the truth. The book dives right in to Direct 3D programming. I have read several books on 3D game programming and understand the concept but alway had trouble digesting Direct 3D. This book changed everything. The book also contains one the best primers on C++ and great directions on how to get the source code to compile(something we all struggled with when trying to get started in game programming). Another bonus is that the book contains a CD with the Direct X 8.0 SDK!!! The SDK happens to be a 120 mb download that takes about a half a day with dial up access. Wolfgang is one of the best authors on Direct 3D and does a magnificent job of introducing the lastest version as well as pointing out the differences between Direct X 8.0 and previous versions. This is a must buy for any aspiring game program. This book is part of a very exciting series published by Prima and edited by Andre Lamothe....
Rating: Summary: A great book for learning DX8 Review: I found the content of this book suitable for understanding most of the main concepts behind Direct3D. If you are looking for a book that covers the new DirectX 8 API, then this book could be what you are looking for. However, it does seem like it was rushed out the door so to speak, as there are a few errors within. On page 46, I was given a whole paragraph containing only the words "Needs to be in caps." OK, does the text need to be in caps, or am I supposed to see if something is in the device caps for my display adapter? Some of the text seems to be cropped really close to the bottom of the page -- it makes me wonder if I am missing something. Maybe I just got a bad printing? Even though I engulfed the entire book in just a couple of days, it is still a good read.
Rating: Summary: Here it is the table of contents: Review: As here it is not shown, here it is: Contents Introduction Part I: DirectX Graphics: Don't Hurt Me Chapter 1: History of Direct3D/DirectX Graphics Chapter 2: Overview of DirectX Graphics/HAL/COM Direct3D HAL Pluggable Software Devices Reference Rasterizer Controlling Devices COM Chapter 3: C/C++ and COM Programming Rules for Direct3D Code Style Debugging DirectX Return Codes Chapter 4: Geometry/Shading/Texture Mapping Basics Orientation Faces Normals Normals and Gouraud Shading Texture-Mapping Basics Chapter 5: The Basics The DirectX Graphics Common Architecture Basic Example OneTimeSceneInit() InitDeviceObjects() RestoreDeviceObjects() FrameMove() Render() InvalidateDeviceObjects() DeleteDeviceObjects() FinalCleanup() Basic2 Example InitDeviceObjects() RestoreDeviceObjects() Render() InvalidateDeviceObjects() DeleteDeviceObjects() FinalCleanup() Basic3 Example RestoreDeviceObjects() Render() InvalidateDeviceObjects() Chapter 6: First Steps to Animation The Third Dimension Transformation Pipeline Transformation Math Matrices The World Matrix The View Matrix Camera Rotation about a Camera Axis Camera Rotation with Quaternions The Projection Matrix Lighting Material Lighting Models Vertex Color (Optional) Depth Buffering Down to the Code OneTimeSceneInit() InitDeviceObjects() RestoreDeviceObjects() FrameMove() Render() InvalidateDeviceObjects() DeleteDeviceObjects() FinalCleanup() Next Steps to Animation RestoreDeviceObjects() FrameMove() More Enhancements Quiz Additional Resources Part II: Knee-Deep in DirectX Graphics Programming Chapter 7: Texture Mapping Fundamentals Texture Coordinates Texture-Addressing Modes Wrap Texture-Addressing Mode Mirror Texture-Addressing Mode Clamp Texture-Addressing Mode Border Color Texture-Addressing Mode MirrorOnce Texture-Addressing Mode Texture Wrapping Texture Filtering and Texture Anti-Aliasing Mipmaps Nearest-Point Sampling Linear Texture Filtering Anisotropic Filtering Full-Scene Anti-Aliasing Alpha Blending Chapter 8: Using Multiple Textures Color Operations Dark Mapping Animating the Dark Blending a Texture with Material Diffuse Color Dark Map Blended with Material Diffuse Color Glow Mapping Detail Mapping Alpha Operations Modulate Alpha Environment Mapping Spherical Environment Mapping Cubic Environment Mapping RestoreDeviceObjects() RenderSceneIntoCube() RenderScene() ConfirmDevice() Bump Mapping ApplyEnvironmentMap() InitBumpMap() Render() ConfirmDevice() Dot Product Texture Blending InitDeviceObjects() Render() Multitexturing Support Texture Management Quiz Additional Resources Anisotropy Detail Mapping Cubic Environment Mapping Stencil Buffers Bump Mapping Dot Product Texture Blending Part III: Hard-Core Direct X Graphics Programming Chapter 9: Working with Files Building Worlds with X Files 3-D File Formats X File Format Header Mesh MeshMaterialList Normals Textures Transformation Matrices Animation Using X Files The Example InitDeviceObjects() RestoreDeviceObjects() and InvalidateDeviceObjects() Render() Extending X Files Additional Resources Chapter 10: Quake Model Files Files of the Trade Animation.cfg The skin File Textures and the Shader File Custom Sounds The .md3 Format Md3.h Md3.cpp CreateModel() CreateTextures() CreateVB() Render() DeleteTextures() DeleteVB() DeleteModel() Md3view.cpp OneTimeSceneInit() InitDeviceObjects() Render() DeleteDeviceObjects() FinalCleanup() MsgProc() Additional Resources Chapter 11: Game Physics (written by Amir Geva) 3-D Math Newton's Laws Calculating the Frame Time Air Resistance Static Friction Kinetic Friction Chapter 12: Collision Detection (written by Amir Geva) The Most Basic Optimization Bounding Volumes 2-D Collision Detection Brute Force Bit Arrays Sprite Bounds Group Processing Axis Sort Grid Static Objects Automatic Transparent Static Marking 3-D Collision Detection Dealing with this Complex Problem Portals Calculating Distance of Cylinder from Wall BSP (binary space partitioning) Sliding Off Walls 3-D Mesh Collision Detection Bounding Volumes Convexity of Models Convex Models Intersection Concave Models Intersection Axis Aligned Bounding Boxes Axis Aligned Bounding Boxes Tree How to Divide the Box Oriented Box Intersections Triangle Intersection Using ColDet with DirectX 8.0 Collision Reaction 3-D Object Group Processing Quiz Additional Resources Part IV: Appendixes Appendix A: Windows Game Programming Foundation How to Look through a Window How Windows 95/98/ME/NT/2000 Interacts with Your Game The Components of a Window A Window Skeleton Step 1: Define a Window Class Windows Data Types Step 2: Register the Window Class Step 3: Creating a Window of that Class Step 4: Display the Window Step 5: Create the Message Loop The Window Procedure A Window Skeleton Optimized for Games Windows Resources Additional Resources Appendix B: C++ Primer What's Object-Oriented Programming? Abstraction Classes Encapsulation Declaring a Class Constructor Destructor This Pointer Class Hierarchies and Inheritance Inheriting Code Inheriting an Interface Virtual Functions Polymorphism Inline Functions C++ Enhancements to C Default Function Arguments Placement of Variable Declarations Const Variable Enumeration Function Overloading and Operator Overloading Function Overloading Operator Overloading Additional Resources Appendix C: The Common Files Framework Create() Step 1: Create the Direct3D Object with Direct3Dcreate8() Step 2: Search for the Proper Device Driver with the Help of BuildDeviceList() Step 1 in BuildDeviceList() Step 2 in BuildDeviceList() Step 3: Create a Window with CreateWindow() Step 4: Initialize the Geometry Data of your Game with OneTimeScene Init() Step 5: Initialize the 3-D Environment with Initialize3DEnvironment() Step 1 in Initialize3DEnvironment() Step 2 in Initialize3DEnvironment(): CreateDevice() Step 3 in Initialize3DEnvironment(): SetWindowPos() Step 4 in Initialize3DEnvironment(): GetDeviceCaps() Step 5 in Initialize3DEnvironment(): GetDesc() Step 6 in Initialize3DEnvironment(): D3DUtil_SetDeviceCursor() Step 7 in Initialize3DEnvironment(): Initialize the Application's Device Objects Step 8 in Initialize3DEnvironment() Step 6: Starting the Timer with DXUtil_Timer() Run() Step 1 in Render3DEnvironment(): TestCooperativeLevel() and Resize3DEnvironment() Step 2 in Render3DEnvironment(): FrameMove() Step 3 in Render3DEnvironment(): Render() Step 4 in Render3DEnvironment(): Fill the Frame Count String Step 5 in Render3DEnvironment(): Present() MsgProc() Appendix D: Mathematics Primer Points in 3-D Vectors Bound Vector Free Vector Vector Addition: U + V Vector Subtraction: U - V Vector Multiplication Scalar Product Dot Product Cross Product Unit Vector Matrices Multiplication of a Matrix with a Vector Matrix Addition and Subtraction Matrix Multiplication Translation Matrix Scaling Matrix Rotation Matrices Rotation about the y-axis Rotation about the x-axis Rotation about the z-axis Appendix E: Game Programming Resources General DirectX Graphics FAQ
Rating: Summary: Great for DX8 Review: this book is great for learning direct3d. i knew nothing about direct3d before i read it and now i know enough to do things like envirement mapping and bump mapping. But this book is not for someone totally new to programming. its good to have a knowledge of windows and a i recommend a pretty large knowledge on C++. its probably one of the best books ive read on programming d3d API
Rating: Summary: Now THAT's more like it! Review: Fantastic book... Not a for dummies or idiots version, but one aimed at existing Windows developers who know C/C++ and want to learn the new DirectX Graphics (DirectX 8)... Unlike the lousy, waste of paper "Learn Computer Game Programming With DirectX 8", this book actually uses DirectX 8 AND teaches game programming Microsoft style. (Read: Common files framework) Everything from Direct3D interfaces, algorithms, texturing, etc., are covered... What even better is that the book assumes we have a computer that was NOT made in the 80's. It ASSUMES 16-bit color AND assumes you want to learn cutting edge techniques and optimize for the latest GPUs like the GeForce and all... Fantastic title... I'd highly recommend it!
Rating: Summary: The DX8 3D book for starting! Review: This is the book to get if you want to learn D3D version 8. Yes version 8! He has a good style and flows from one topic to the next very well. He also does not throw too much info at you at once. But you will be surprised how much he covers, in a very short amount of time. This book would be a good reference for intermediate D3D programmers as well (Just not all of it.) As a bonus, the DX8 SDK is on the CD. (Now downloads of the monster needed.)
Rating: Summary: Anyone give this a bad review doesnt know Review: The book is very good for the basics. But thats it. It gives fundamentals. It builds and doesnt jupm around and aLL THE CODE COMPILES. Its a good starter, not for games, but direct3d.
Anyone who says different is not a programmer.
Rating: Summary: Terrible book.. Review: I bought this book with the intention of learning D3D only from this book. Wrong. I wasn't even able to get the projects to compile!
There is simply no direction, no focus here. He jumps from topic to topic for no good reason, no fluidity at all.
If you want a book that costs this much and will almost never be opened, buy this book.
If you want a GOOD beginner's D3D book, get Frank Luna's D3D book, you can even talk to him via his website to ask questions(which he answers!).
|