[self-interest] OpenGL

Jecel Assumpcao Jr jecel at merlintec.com
Fri Jun 20 21:34:54 UTC 2003

On Sunday 15 June 2003 23:48, Steve Dekorte wrote:
> On Friday, June 13, 2003, at 07:27 PM, Jecel Assumpcao Jr wrote:
> > Ok. OpenGL is an immediate mode renderer, right? This wouldn't be
> > as easy in a retained mode one.
> I'm not sure what you mean. If you mean you want to keep a copy of a
> frame buffer and draw over it, you can do that in-hardware using
> OpenGL too.

I am sorry that this reply is so late, and even sorrier that it is so 
off-topic for this list. But it wouldn't be right to leave this subject 
pending an explanation.

In some graphics systems you can choose between the immediate and 
retained modes, while others always work in one or the other. In the 
immediate mode any command you give will result in a change to the 
image, while in the retained mode the command will alter a data 
structure kept by the graphics system which will later convert that 
structure into an image.

To generate a slightly different image, you have to issue all the 
commands once again with one or two differences in the first mode, but 
only the commands to change the data structure in the second.

The main advantage of the retained mode is that the bandwidth between 
the application and the renderer can be very limited and another 
advantage is that as the renderer is aware of what is changing some 
things, like motion blur, are easier to do.

The main problem with the retained mode is that so the application can 
know what commands to send it will need to keep its own copy of the 
data structure representing the seen. Everything is done twice, in 
practice. You move that sphere in your local copy, then send a command 
which makes the renderer move the same sphere in its own copy.

Most early 3D graphics systems were retained mode (Phigs, if I remember 
correctly, was an example of this). Renderman let you choose, while 
most modern systems (OpenGL, I think) are immediate mode.

-- Jecel

More information about the Self-interest mailing list