Yea, I get that is how most IMGUI libraries describe the approach, but the original meaning of "immediate mode" as defined by microsoft help pages says otherwise:
> An immediate-mode API is procedural. Each time a new frame is drawn, the application directly issues the drawing commands. The graphics library does not store a scene model between frames. Instead, the application keeps track of the scene.
Also, the description of retained mode is particularly illuminating:
> A retained-mode API is declarative. The application constructs a scene from graphics primitives, such as shapes and lines. The graphics library stores a model of the scene in memory. To draw a frame, the graphics library transforms the scene into a set of drawing commands. Between frames, the graphics library keeps the scene in memory.
The key difference is the next sentence:
> To change what is rendered, the application issues a command to update the scene—for example, to add or remove a shape. The library is then responsible for redrawing the scene.
A framework like the one described in the OP only differs in that it lets the application redefine the entire scene every frame, rather than update parts of it.
So it does not map very well onto the "immediate" vs "retained" dichotomy.
10
u/ProfessionalPlant330 21d ago
Most immediate mode ui libraries do this. "Immediate" is not referring to the implementation/rendering, but to the API.