When
the data to be rendered is stored in RAM on the client side, the rendering is
called
immediate mode,
because the client is asking the server to render the data immediately after it
is sent to the server.
Former examples
of immediate mode rendering include
- glBegin...
glEnd:
pass vertices to GPU forming one primitive at a time
- Vertex arrays: pass vertices to GPU in a single call (for
each frame)
Rendering
with
glBegin…glEnd
is particularly slow
because the graphics hardware must
wait for
each primitive to be sent before it can be rendered!
In
contrast,
retained mode rendering
passes geometry stores the vertices in VRAM on the GPU. Rendering is often much more efficient.
Immediate mode rendering was deprecrated
in OpenGL 3.0 and dropped from the core in OpenGL 3.1.