DirectX SDK |
The Direct3DX Utility Library application programming interface (API), based on COM, is a helper layer that sits on top of the Direct3D® and DirectDraw® components of DirectX 7.0. It is designed as a set of header files and a library (d3dx.lib or d3dxd.lib) that applications can link to statically.
Applications that take advantage of the functionality provided by Direct3DX utility library should link to d3dx.lib. However, for debug applications, it is best to link to the debug version of the library, d3dxd.lib. This version of the library provides parameter and data structure validation, and output debug error messages. When an error occurs, the debug output gives you a more detailed description of the problem. The debug library executes more slowly than the retail version of the library (d3dx.lib), but it is much more useful for debugging an application.
The Direct3DX utility library provides helper functions to simplify the common tasks encountered by 3-D graphics developers. The utility library is an adjunct to Direct3D Immediate Mode, and requires familiarity with the essential aspects of Direct3D Immediate Mode.
The utility library is designed for developers who want a quick and efficient way to use Direct3D Immediate Mode. By eliminating some of the more tedious tasks, the utility library provides a tool-kit of short-cuts, allowing developers to immediately focus on the core application or game development.
The Direct3DX utility library provides helper functionality for enumerating device configurations, setting up a device, running full-screen or windowed mode uniformly, running resizing operations, calculating vector and matrix operations, and simplifying image file loading and texture creation. In addition, it provides functions for drawing simple shapes, sprites, and cube maps. However, Direct3DX does not provide a scene hierarchy or support X Files.
Note that the utility library requires that at least DirectX 7.0 is installed on your system. The Direct3DX utility library supports multiple monitor configurations. Note that none of the Direct3DX objects are multithread-safe. A multithreaded application must add its own locks and synchronization primitives to access Direct3DX objects.
D3DX_DEFAULT is a predefined value that can be used for any parameter of the Direct3DX application programming interfaces (APIs) or member functions that is an enumerant or a handle. The reference section indicates wherever D3DX_DEFAULT may be used, and how it will be interpreted in each situation.
D3DX_DEFAULT_FLOAT is similar to D3DX_DEFAULT, but it is used for floating point parameters.