| |
| |
Introduction | |
| |
| |
| |
Windows Programming | |
| |
| |
| |
Getting Started with Windows and DirectX | |
| |
| |
Welcome to the Adventure! | |
| |
| |
Let's Talk About Compilers | |
| |
| |
What's Your Skill Level? | |
| |
| |
An Overview of Windows Programming | |
| |
| |
"Getting" Windows | |
| |
| |
Understanding Windows Messaging | |
| |
| |
Multi-Tasking | |
| |
| |
Multi-Threading | |
| |
| |
Event Handling | |
| |
| |
A Quick Overview of DirectX | |
| |
| |
What Is Direct3D? | |
| |
| |
What You Have Learned | |
| |
| |
Review Questions | |
| |
| |
| |
Windows Programming Basics | |
| |
| |
The Basics of a Windows Program | |
| |
| |
Creating a Win32 Project | |
| |
| |
Understanding WinMain | |
| |
| |
The Complete WinMain | |
| |
| |
What You Have Learned | |
| |
| |
Review Questions | |
| |
| |
On Your Own | |
| |
| |
| |
Windows Messaging and Event Handling | |
| |
| |
Writing a Full-Blown Windows Program | |
| |
| |
Understanding InitInstance | |
| |
| |
Understanding MyRegisterClass | |
| |
| |
Understanding WinProc | |
| |
| |
What You Have Learned | |
| |
| |
Review Questions | |
| |
| |
On Your Own | |
| |
| |
| |
The Real-Time Game Loop | |
| |
| |
What Is a Game Loop? | |
| |
| |
The Old WinMain | |
| |
| |
WinMain and Looping | |
| |
| |
The GameLoop Project | |
| |
| |
Source Code for the GameLoop Program | |
| |
| |
What You Have Learned | |
| |
| |
Review Questions | |
| |
| |
On Your Own | |
| |
| |
| |
DirectX Programming | |
| |
| |
| |
Your First DirectX Graphics Program | |
| |
| |
Getting Started with Direct3D | |
| |
| |
The Direct3D Interfaces | |
| |
| |
Creating the Direct3D Object | |
| |
| |
Taking Direct3D for a Spin | |
| |
| |
Direct3D in Fullscreen Mode | |
| |
| |
What You Have Learned | |
| |
| |
Review Questions | |
| |
| |
On Your Own | |
| |
| |
| |
Bitmaps and Surfaces | |
| |
| |
Surfaces and Bitmaps | |
| |
| |
The Primary Surfaces | |
| |
| |
Secondary Offscreen Surfaces | |
| |
| |
The Create_Surface Example | |
| |
| |
Loading Bitmaps from Disk | |
| |
| |
The Load_Bitmap Program | |
| |
| |
What You Have Learned | |
| |
| |
Review Questions | |
| |
| |
On Your Own | |
| |
| |
| |
Drawing Animated Sprites | |
| |
| |
Drawing Animated Sprites | |
| |
| |
The Anim_Sprite Project | |
| |
| |
Concept Art | |
| |
| |
Animated Sprites Explained | |
| |
| |
What You Have Learned | |
| |
| |
Review Questions | |
| |
| |
On Your Own | |
| |
| |
| |
Advanced Sprite Programming | |
| |
| |
Drawing Transparent Sprites | |
| |
| |
Creating a Sprite Handler Object | |
| |
| |
Loading the Sprite Image | |
| |
| |
Drawing Transparent Sprites | |
| |
| |
Drawing an Animated Sprite | |
| |
| |
Working with Sprite Sheets | |
| |
| |
The Tiled_Sprite Program | |
| |
| |
Collision Detection | |
| |
| |
Testing for Collisions | |
| |
| |
The Collision Test Program | |
| |
| |
What You Have Learned | |
| |
| |
Review Questions | |
| |
| |
On Your Own | |
| |
| |
| |
Jamming with DirectX Audio | |
| |
| |
Using DirectSound | |
| |
| |
Initializing DirectSound | |
| |
| |
Creating a Sound Buffer | |
| |
| |
Loading a Wave File | |
| |
| |
Playing a Sound | |
| |
| |
Testing DirectSound | |
| |
| |
Creating the Project | |
| |
| |
Creating the DirectX Audio Support Files | |
| |
| |
Tweaking the Framework Code | |
| |
| |
Adding the Game Files | |
| |
| |
Running the Program | |
| |
| |
What You Have Learned | |
| |
| |
Review Questions | |
| |
| |
On Your Own | |
| |
| |
| |
Handling Input Devices | |
| |
| |
The Keyboard | |
| |
| |
DirectInput Object and Device | |
| |
| |
Initializing the Keyboard | |
| |
| |
Reading Key Presses | |
| |
| |
The Mouse | |
| |
| |
Initializing the Mouse | |
| |
| |
Reading the Mouse | |
| |
| |
Paddle Game | |
| |
| |
The New Framework Code for DirectInput | |
| |
| |
The Paddle Game Source Code | |
| |
| |
Paddle Game Explained | |
| |
| |
What You Have Learned | |
| |
| |
Review Questions | |
| |
| |
On Your Own | |
| |
| |
| |
Tile-Based Scrolling Backgrounds | |
| |
| |
Introduction to Scrolling | |
| |
| |
Introduction to Tile-Based Backgrounds | |
| |
| |
Backgrounds and Scenery | |
| |
| |
Creating Backgrounds from Tiles | |
| |
| |
Tile-Based Scrolling | |
| |
| |
Dynamically Rendered Tiles | |
| |
| |
The Tile Map | |
| |
| |
Creating a Tile Map Using Mappy | |
| |
| |
The DynamicScroll Project | |
| |
| |
What You Have Learned | |
| |
| |
Review Questions | |
| |
| |
On Your Own | |
| |
| |
| |
3D Programming | |
| |
| |
| |
3D Graphics Fundamentals | |
| |
| |
Introduction to 3D Programming | |
| |
| |
The Three Steps to 3D Programming | |
| |
| |
The 3D Scene | |
| |
| |
Moving to the Third Dimension | |
| |
| |
Grabbing Hold of the 3D Pipeline | |
| |
| |
The Vertex Buffer | |
| |
| |
Rendering the Vertex Buffer | |
| |
| |
Creating a Quad | |
| |
| |
The Textured Cube Demo | |
| |
| |
Modifying the Framework | |
| |
| |
The Cube_Demo Program | |
| |
| |
What's Next? | |
| |
| |
What You Have Learned | |
| |
| |
Review Questions | |
| |
| |
On Your Own | |
| |
| |
| |
Creating Your Own 3D Models with Anim8or | |
| |
| |
Introducing Anim8or | |
| |
| |
Getting into 3D Modeling | |
| |
| |
Features | |
| |
| |
The Interface | |
| |
| |
Installing Anim8or | |
| |
| |
Using Anim8or | |
| |
| |
Stock Primitives | |
| |
| |
Manipulating Objects | |
| |
| |
Manipulating the Entire Scene | |
| |
| |
Creating the Car Model | |
| |
| |
The Wheels | |
| |
| |
The Frame | |
| |
| |
The Windows | |
| |
| |
The Headlights and Taillights | |
| |
| |
Creating a Scene | |
| |
| |
What You Have Learned | |
| |
| |
Review Questions | |
| |
| |
On Your Own | |
| |
| |
| |
Working with 3D Model Files | |
| |
| |
Converting 3D Files | |
| |
| |
Converting 3DS to .X | |
| |
| |
Loading and Rendering a Model File | |
| |
| |
Loading an .X File | |
| |
| |
Rendering a Complete Model | |
| |
| |
The Load_Mesh Program | |
| |
| |
What's Next? | |
| |
| |
What You Have Learned | |
| |
| |
Review Questions | |
| |
| |
On Your Own | |
| |
| |
| |
Complete 3D Game | |
| |
| |
Bash | |
| |
| |
Playing the Game | |
| |
| |
Creating the Models | |
| |
| |
Printing Text Using a Bitmapped Font | |
| |
| |
Simple 3D Collision Detection | |
| |
| |
Bash Source Code | |
| |
| |
What's Next? | |
| |
| |
What You Have Learned | |
| |
| |
Review Questions | |
| |
| |
On Your Own | |
| |
| |
Index | |