Overview: With this course, you will learn how to use Managed DirectX 9 to develop multimedia applications with rich 3D graphics. You will also learn the basics of 3D graphics programming as well as advanced topics such as controlling the level of detail in meshes and using the High Level Shader Language and character animation. The other features of DirectX are also covered. Controlling audio and adding sound effects into your applications is discussed. You'll also learn about user input via the mouse, keyboard, joystick, and force feedback devices.
Prerequisites: Beginning C# Game Programming course
Duration: 10 days
Part I: Beginning Graphics Concepts Chapter 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
Chapter 2: Choosing the Correct Device
Enumerating Your System's Adapters
Determining Whether a Hardware Device is Available
Checking Device Capabilities
Chapter 3: Rendering Using Simple Techniques
Using Vertex Buffers
Texturing Our Objects
Chapter 4: More Rendering Techniques
Rendering Other Primitive Types
Using Index Buffers
Using Depth Buffers
Chapter 5: Rendering with Meshes
Defining the Mesh
Using Materials and Lighting
Using Meshes to Render Complex Models
Chapter 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
Chapter 7: Using Advanced Mesh Features
Cloning Mesh Data
Optimising Mesh Data
Simplifying Existing Meshes
Welding Vertices in a Mesh
Making Lots of Little Meshes Out of One Big One
Chapter 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
Chapter 9: Using the Other Mesh Types
Simplifying Meshes
Controlling the Level of Detail with Progressive Meshes
Rendering Patch Meshes
Seeing the Tessellation Levels
Chapter 10: Using the Helper Classes
Drawing Lines
Drawing Text
Rendering to Surfaces
Rendering Environment Maps
Part II: Advanced Graphics Concepts Chapter 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
Chapter 12: Using the High Level Shader Language
Using Simple Formulas to Simulate Animation
Determining Colour by Blending Textures
Lighting Textures
Adding Specular Highlights
Chapter 13: Rendering Skeletal Animation
Creating the Frame Hierarchy
Loading Meshes with Animation
Rendering Animated Meshes
Part III: Sound and Input
Chapter 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
Chapter 15: Controlling User Input
Detecting the Devices You Can Use
Using the Keyboard Devices
Using the Mouse Device
Using Game Pads and Joysticks for User Input
Using Force Feedback
Part IV: Conrolling User Input Chapter 16: Using Direct3D for 2D Graphics
Creating a Full Screen Rendering Device
Rendering Sprites
Animating Your Sprites
Chapter 17: Using DirectDraw for 2D Rendering
Creating a Full Screen DirectDraw Device
Animating Your Sprites
Part V: Adding Networking Chapter 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
Chapter 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
Chapter 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
Chapter 21: Achieving Maximum Performance
Using Value Types as Objects
Understanding the Performance Implications of the Event Model
Copyright (c) 2005 New Horizons - All Rights Reserved. Procomp Computer Services CC trading as New Horizons Computer Learning Centre. Registration No. 2002/029621/23