Retained mode

[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.

Schematic explanation of a retained mode graphics API
Schematic explanation of an immediate mode graphics API in contrast