Retained mode
Encyclopedia
In computing, retained mode rendering is a style for application programming interface
s of graphics libraries, in which the libraries retain a complete model of the objects to be rendered.
Some techniques to optimize rendering include:
Immediate mode
is an alternative approach; the two styles can coexist in the same library and are not necessarily exclusionary in practice. For example, OpenGL
has immediate mode functions that can use previously defined server side objects (textures, vertex and index buffers, shaders, etc.) without resending unchanged data.
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
s of graphics libraries, in which the libraries retain a complete model of the objects to be rendered.
Overview
By using a "retained mode" approach, client calls do not directly cause actual rendering, but instead update an internal model (typically a list of objects) which is maintained within the library's data space. This allows the library to optimize when actual rendering takes place along with the processing of related objects.Some techniques to optimize rendering include:
- managing double bufferingDouble bufferingIn computer science, multiple buffering is the use of more than one buffer to hold a block of data, so that a "reader" will see a complete version of the data, rather than a partially-updated version of the data being created by a "writer"...
- performing occlusion culling
- only transferring data that has changed from one frame to the next from the application to the library
Immediate mode
Immediate mode
Immediate mode rendering is a style for application programming interfaces of graphics libraries, in which client calls directly cause rendering of graphics objects to the display. It does not preclude the use of double-buffering. In contrast to retained mode, lists of objects to be rendered are...
is an alternative approach; the two styles can coexist in the same library and are not necessarily exclusionary in practice. For example, OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...
has immediate mode functions that can use previously defined server side objects (textures, vertex and index buffers, shaders, etc.) without resending unchanged data.