Direct3DAfter taking a brief look at the capabilities of DirectDraw, let us come to the overview of Direct3D. IntroductionDirect3D, is part of DirectX and is the component that helps us integrate 3D into Windows applications. Direct3D is used to develop real-time, interactive, 3D applications. For developing these applications, Direct3D provides the following features:
In addition to these features, Direct3D provides a fast software based rendering of the full 3D rendering pipeline. Applications developed using Direct3D are scaleable as a part or whole of the 3D rendering pipeline can be in the hardware and Direct3D can make use of it, if it is detected. A possible restriction on Direct3D is the tight restriction with DirectX and its different components. The features of Direct3D are available to the user in two different ways. These are through the two modes of Direct3D, namely: the retained mode and the immediate mode. The retained mode is a high-level interface, while the immediate mode is a lower-level interface to the features of Direct3D. The two modes are discussed in details in separate tutorials. For detailed discussions of the retained mode and the immediate mode, refer [8] and [7] respectively. PlaceFigure 1 shows the different parts of Direct3D, in relation to the other modules of a Win32 system.
From figure 1, it is clear that the retained mode uses the immediate mode, transparent to the developer using the retained mode. The developer is not made aware of this usage. From the figure, it is also clear that the retained mode also uses some features of DirectDraw. The retained mode, the immediate mode and the Direct3D HAL, together, constitute the Direct3D component of DirectX. Though many of the existing programs for 3D graphics on the Windows platform talk to the different parts directly, it is envisaged that the DirectDraw and Direct3D components of DirectX will be incorporated into future versions of Win32 systems. Any system providing 3D, will have to use Direct3D to provide its own features. LayersDirect3D uses two layers, namely the Hardware Abstraction Layer (HAL) and the Hardware Emulation Layer (HEL). All of the features of Direct3D are built on top of the HAL, which provides hardware independence and makes applications portable. The HEL is a companion of Direct3D and provides software emulation for the features of the 3D rendering pipeline, not supported by the hardware. This layer is tightly integrated with the DirectDraw HAL and the Graphics Device Interface (GDI) driver of the Win32 system. This layer helps provide a unified driver model for accelerated 3D.
|
|||||||||||