Direct3D is designed to enable world-class game and interactive three-dimensional (3-D) graphics on a computer running Microsoft® Windows®. Its mission is to provide device-dependent access to 3-D video-display hardware in a device-independent manner. Simply put, Direct3D is a drawing interface for 3-D hardware.
You can use Direct3D in either of two modes: Immediate Mode or Retained Mode. Retained Mode is a high-level 3-D application programming interface (API) for programmers who require rapid development or who want the help of Retained Mode's built-in support for hierarchies and animation.
Microsoft developed the Direct3D Immediate Mode as a low-level 3-D API. Immediate Mode is ideal for developers who need to port games and other high-performance multimedia applications to the Microsoft Windows operating system. Immediate Mode is a device-independent way for applications to communicate with accelerator hardware at a low level. Direct3D Retained Mode is built on top of Immediate Mode.
These are some of the advanced features of Direct3D:
·Switchable z-buffering
·Flat and Gouraud shading
·Phong lighting model, with multiple lights and light types
·Full material and texture support, including mipmapping
·Ramp and RGB software emulation
·Transformation and clipping
·Hardware independence
·Full support on NT
·Support for the Intel MMX architecture
Developers who use Immediate Mode instead of Retained Mode are typically experienced in high-performance programming issues, and may also be experienced in 3-D graphics. Your best source of information about Immediate Mode is probably the sample code included with this Programmer's Reference in the Platform Software Development Kit (SDK); it illustrates how to put Direct3D Immediate Mode to work in real-world applications.
This section is not an introduction to programming with Direct3D Immediate Mode; for this information, see Direct3D Execute-Buffer Tutorial.