[5] In retained mode the client calls do not directly cause actual rendering, but instead update an abstract 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.
[2] Some techniques to optimize rendering include: Example of coexistence with immediate mode in the same library is OpenGL.
[dubious – discuss][failed verification][10] OpenGL has immediate mode functions that can use previously defined server side objects (textures, vertex buffers and index buffers, shaders, etc.)
[11][12] Examples of retained mode rendering systems include Windows Presentation Foundation,[2] SceneKit on macOS,[13] and PHIGS.