DirectX FAQ | Index of X-Zone's DirectX FAQs |
Direct3D RM FAQ | X-Zone's FAQ on Direct3D Retained Mode |
Direct Sound FAQ | X-Zone's FAQ on DirectSound |
Direct3D IM FAQ | X-Zone's FAQ on Direct3D Immediate Mode |
Direct Play FAQ | X-Zone's FAQ on DirectPlay |
DirectX General Issues | X-Zone's FAQ on general issues effecting DirectX development |
Direct Draw FAQ | X-Zone's FAQ on DirectDraw |
DirectX 8 Graphics FAQ | X-Zone's FAQ on issues specific to DirectX8 Graphics |
View Oriented Billboards | Billboarding techniques are utilized in 3D applications to orient a polygon to always face the user. This allows the application of a 2D image, such as a lens flare or images of foliage, into a 3D scene. By applying an image in this way, the illusion of complex objects or effects can be applied with a minimum of overhead. |
Using Bounding Spheres | In this article, we will take a look at how bounding spheres are defined, and how they can be used for efficient course testing of collision. |
Writing the Game Loop | The game loop drives the flow of the program, providing a heartbeat for synchronizing object motion and rendering of frames in a steady, consistent manner. Provides source code for a basic game loop using the Performance Counter, and provides automatic detection of the Performance Counter and fallback to timeGetTime if it is not available. |
Using a Blit Queue | Learn how to cache blit commands to make better use of the refresh cycle under DirectDraw. Includes source code for a blitting queue. |
Modular Programming with DLLs | This article provides information and source code, that will allow you to easily implement a full screen DirectX application as a series of loadable modules.
|
Selecting Timer Functions | How to select the right timer function for game timing. Includes information on various timer functions, including GetTickCount(), timeGetTime(), and the Performance Counter. |
Implementing Steady Motion | To allow for variations in playback, it is important that motion within the game be scaled to frame time. This insures that motion is steady, and aids in synchronizing the motion of objects.
|
Synchronization of Game Threads | First in a series exploring the creation of multithreaded entertainment titles. Learn how to create worker threads and utilize them to dynamically manage processor load in your game. |
Simple DX8 Framework | A good starting point for writing applications using DirectX 8 graphics. Provides full screen and windowed operation, and a high performance message loop. |
First Look at DX8 Graphics | A look at some of the changes in the graphics APIs in DX8. This area is aimed at highlighting the changes that will have to be considered when making the move to DX 8 with your existing code. |
A Simple Blit Function for DirectX 8 | Shows how to use pre-transformed polygons to simulate a Blit function in Direct3D |
Locating an Application CD | Techniques and source code that provide a reliable technique to scan a system for tour application's CD, and to prompt the user for insertion if it is not available. Handles systems with multiple CD-ROMs properly, and determines CD drive locations and volume names without unnecessary file reads. |
Using W-Buffers | Provides a look at the the mathematical and practical differences between Z and W based depth buffering. Includes code to detect W-Buffering hardware and implement W based depth buffers. |
Projecting a Ray from 2D Screen Coordinates | Direct3D provides the means to project your 3D world onto the screen, but often 3D titles require the ability to convert screen coordinates into 3D, and to determine the objects that are visible at a location in the viewport. This article lies the initial groundwork required for establishing a ray pick routine, by providing algorithms and working code to convert a pixel coordinate into a ray in world space. |
DirectX in Borland C++ | Guest author Mikael Lundberg provides some clues to getting started using DirectX under Borland C++. |
Color Depth Conversion | Learn how to convert pixel formats of loaded images to the format of the display surface. Includes source code for a function that provides image loading, format conversion, and color key setup in a single, easy to use function. |
FVF Definitions for DX7 Vertex Types in DX8 | Provides Flexible Vertex Format (FVF) definitions for the standard DX7 vertex types. These are handy for those who are porting applications to DX8, and need definitions for their existing vertex formats. |