Comparing Modes
After covering the immediate mode in some detail, let us compare its feature with the feature provide by the retained mode.
We make a comparison using the following points:
- Level
- - Retained mode is a higher-level interface for 3D programming and provides many objects for managing the 3D data. Immediate mode is lower-level interface and does not provide a large number of objects.
- Scene Concept
- - Retained mode has the concept of a scene, which is a hierarchy of frames, with each frame containing frames, objects or lights. Retained mode also provides objects to support this concept. In immediate mode, a scene is just a set of vertices and the corresponding operations. There is no well defined organization as in the retained mode, for the objects and the lights.
- Relationship
- - In retained mode, the relationships between the frames, objects and lights is very clear and explicit. In immediate mode, there is no apparent relationship between the scene objects, faces and vertices.
- Object Access
- - Retained mode supports object identification and manipulation after the object has been rendered, which is not possible in immediate mode.
- Ease of Use
- - Retained mode is much easier to program in, than immediate mode.
- Geometry Engine
- - Retained mode provides a built-in geometry engine, which is abscent in the immediate mode. Due to this, the application can use custom algorithms, which are not possible in retained mode. A requirement for coding these algorithms is sound knowledge of 3D graphics concepts.
- Addition
- - Adding 3D capabilities to a Windows application is much easier using retained mode, than using immediate mode.
- Performance
- - Performance of immediate mode applications can be better that retained mode applications.
Notes on Programming
To create immediate mode applications, knowledge of either Windows SDK or MFC is necessary. For more details on programming using SDK, refer [12]. Refer [13] for details on programming using MFC.
|