3 ms·
OK, so sorry, I was misusing the terms. I guess I'm looking at it from a GUI application programmer POV. That OpenGL or Vulkan are, themselves, immediate mode,
by ahartmetz 3y ago
OK, so sorry, I was misusing the terms.
I guess I'm looking at it from a GUI application programmer POV. That OpenGL or Vulkan are, themselves, immediate mode, doesn't matter all that much there. Drawing happens on the GPU, which wants to process large buffers without changing its state in between. An overview of all drawing operations (scene graph, proper use of the term retained mode) with batching and merging is needed to cater to that.
Examples: Qt QML scene graph, GTK4 GSK
> You can composite buffers
Compositing buffers is still drawing, though
> What would I consider immediate mode?
Basically, a canvas-type thing. You just scribble wherever whenever (limited by convention and correctness, of course) and what you don't touch stays like it is. Drawing happens on the CPU, which is fairly happy to do small operations at the drop of a hat. No need to remember any state for the benefit of the graphics API.
Examples: Qt QPainter, GTK < 4 using Cairo