About the Book
Managed DirectX was released
with the latest version of the core DirectX libraries in DirectX9. It enables
developers using the new .NET languages (i.e. C#, VB.NET, etc.) to develop
rich multimedia applications with DirectX. Unfortunately the Managed DirectX
runtime was released without adequate documentation, and developers are
having a hard time figuring out the best way to write managed applications.
This book covers how to use the Managed DirectX objects, how they differ
from the core DirectX libraries, and how to create these rich multimedia
applications in C#. It also covers in depth graphics techniques and the
new high-level shader language shipping with DirectX9.
Related
Books
Kick Start Books (Kick
Start Books)
Table of Contents
Introduction.
The History of Managed DirectX. Namespaces
Included. Getting Started.
I. BEGINNING GRAPHICS CONCEPTS.
1. Introducing Direct3D.
Getting Started.
The Direct3D Device.
Making Our Triangle Three Dimensional.
Automatic Device Resets During a Resize.
We've Got Camera and Action; What
About Lights?
Device States and Transforms.
Swapchains and RenderTargets.
In Brief.
2. Choosing the Correct Device.
Enumerating Your System's Adapters.
Determining Whether a Hardware Device
Is Available.
Checking Device Capabilities.
In Brief.
3. Rendering Using Simple Techniques.
Using Vertex Buffers.
Texturing Our Objects.
In Brief.
4. More Rendering Techniques.
Rendering Other Primitive Types.
Using Index Buffers.
Using Depth Buffers.
In Brief.
5. Rendering with Meshes.
Defining the Mesh.
Using Materials and Lighting.
Using Meshes to Render Complex Models.
In Brief.
6. Using Managed DirectX to Write
a Game.
Choosing the Game.
Writing the Game.
Adding a Movable Car into Your Scene.
Adding Obstacles.
Implementing the Finishing Touches.
In Brief.
II. INTERMEDIATE GRAPHICS CONCEPTS.
7. Using Advanced Mesh Features.
Cloning Mesh Data.
Optimizing Mesh Data.
Simplifying Existing Meshes.
Welding Vertices in a Mesh.
Making Lots of Little Meshes Out of
One Big One.
In Brief.
8. Understanding Resources.
Starting with the Resource Class.
Using the Vertex and Index Buffers.
Locking Our Buffers.
Controlling How Buffers Are Locked.
Using Texture Resources.
Locking Textures and Getting Descriptions.
In Brief.
9. Using the Other Mesh Types.
Simplifying Meshes.
Controlling the Level of Detail with
Progressive Meshes.
Rendering Patch Meshes.
Seeing the Tessellation Levels.
In Brief.
10. Using the Helper Classes.
Drawing Lines.
Drawing Text.
Rendering to Surfaces.
Rendering Environment Maps.
In Brief.
III. ADVANCED GRAPHICS CONCEPTS.
11. Introducing the Programmable
Pipeline with the High Level Shader Language.
Rendering a Single Triangle Without
Using the Fixed-function Pipeline.
Rendering Shader Programs with Techniques.
Rendering Meshes Using the Programmable
Pipeline.
Using HLSL to Write a Pixel Shader.
In Brief.
12. Using the High Level Shader
Language.
Using Simple Formulas to Simulate
Animation.
Determining Color by Blending Textures.
Lighting Textures.
Adding Specular Highlights.
In Brief.
13. Rendering Skeletal Animation.
Creating the Frame Hierarchy.
Loading Meshes with Animation.
Rendering Animated Meshes.
In Brief.
IV. SOUND AND INPUT.
14. Discovering the Wonders of Sound.
Including the Sound Namespace.
Loading and Playing a Static Sound.
Using Sounds in 3D.
Manipulating the Listener.
Using Effects with Your Sounds.
In Brief.
15. Controlling User Input.
Detecting the Devices You Can Use.
Using the Keyboard Device.
Using the Mouse Device.
Using Game Pads and Joysticks for
User Input.
Using Force Feedback.
In Brief.
V. 2D GRAPHICS.
16. Using Direct3D for 2D Graphics.
Creating a Full Screen Rendering Device.
Rendering Sprites.
Animating Your Sprites.
In Brief.
17. Using DirectDraw for 2D Rendering.
Creating a Full Screen DirectDraw
Device.
Animating Your Sprites.
In Brief.
VI. ADDING NETWORKING.
18. Implementing Peer-to-Peer Networking
Using DirectPlay.
Understanding DirectPlay Addresses.
Creating a Peer Connection.
Getting into a Session.
Using the Event Model.
Performing Actions in Our Session.
Handling Lost Sessions.
In Brief.
19. Creating a Client/ Server Session.
Creating a Dedicated Server Session.
Connecting a Client.
Detecting Users Joining and Leaving
Your Session.
Sending Data Packets.
Making the Client React.
Handling the Server Lost Event.
In Brief.
20. Understanding Advanced Networking
Features.
Having a Detailed Look at the Event
Model.
Detecting Bandwidth and Network Statistics.
Launching Applications Using a Lobby.
Making Your Application Lobby Aware.
Adding Voice Chat to Your Sessions.
In Brief.
21. Achieving Maximum Performance.
Using Value Types as Objects.
Understanding the Performance Implications
of the Event Model.
Understanding the Cost of Methods.
In Brief.
VII. APPENDICES.
Appendix A. Using the Diagnostics
Assemblies.
Enumerating Everything in the System.
Enumerating Specific Items You Care
About.
Appendix B. Playing Music and Videos.
Playing Back an Audio or Video File
Simply.
Using the Features of Video Files.
Using Video as Textures.
Index. |