Platform SDK: DirectX |
Direct3D currently supports four types of Direct3D devices: the HAL device, a HAL device with accelerated transformation and lighting support, software-emulated RGB device, and the reference rasterizer. The first two types of devices can be used for shipping applications, and the reference rasterizer is supported for feature testing.
Note Previous releases of DirectX exposed additional device types—the MMX and Ramp devices—that are now obsolete. These are still available to C++ applications that target older versions of Direct3D but are not supported through the latest interfaces. For more information, see Legacy Device Types.
The Direct3D device that an application creates must correspond to the capabilities of the hardware on which the application is running. Direct3D provides rendering capabilities, either by accessing 3-D hardware that is installed in the computer or by emulating the capabilities of 3-D hardware in software. Therefore, Direct3D provides devices for both hardware access and software emulation.
Hardware-accelerated devices give better performance than software-emulated devices. In most cases, applications target computers that have hardware acceleration of some kind and fall back on software emulation to accommodate lower-end computers.
With the exception of the reference rasterizer, software devices do not always support the same features as a hardware device. For example, software devices do not support assigning a texture to more than one texture stage at a time. Applications should always query for device capabilities to determine which features are supported.
[C++,Visual Basic]