Xgl and direct rendering

Matthias Hopf mhopf at suse.de
Wed Mar 1 09:49:53 PST 2006


On Mar 01, 06 09:22:14 -0800, Andy Ritger wrote:
> > OpenGL overlay is something similar for OpenGL, and it hurts my brain
> > when I think of it. It is something used for user interfaces in ancient
> > OpenGL applications, and should never ever be used in modern
> > applications. Use imposters for your scene graph here, if rendering the
> > main model view is too slow for immedeate update.
> 
> Matthias, I have to disagree with you on this point (though I agree
> with everything else discussed in this thread).

Very well :)

> Use of an overlay for OpenGL is not limited to ancient applications.
> There are modern workstation OpenGL applications that utilize an
> overlay, and it makes a lot of sense for them to do so.
> 
> If the content in the scene and the content in your user interface
> are changing at different rates (typically ui elements changing more
> quickly during user interaction), then an overlay is a very efficient
> means to composite both together without needing to re-render both
> (the compositing of main plane and overlay plane is done "for free"
> by scanout).

I agree that this is efficient, but so are imposters, and they are much
more flexible. I.e. they allow for real 3D cursors and intermediate
geometry with z test. If using a decent scene graph, implementation
comes almost for free as well.

> whenever either changes.  The downside is that you may end up doing
> that compositing more often than necessary.  Allowing scanout to
> "naturally" composite the overlay with the main plane means that
> compositing happens exactly the right number of times: as often
> as the pixels are read from vidmem by the scanout engine.  Plus,
> scanout compositing does not require a third buffer to store the
> composited result (vidmem might be cheap, but if you're driving a
> pair of Dell 30" panels, that third buffer will cost you).

Would like to have a setup like that :)

Anyway, coming from the visualization community, overlays have never
really been used a lot there. There just were to many issues (at least
on SGIs). I know they are used in the CAD/CAM industry a lot.

For the future, we most certainly will have OpenGL overlays in Xgl as
well at some point, and if it just is for compatibility. Though there
are many much more pressing points at this time.

And it won't help in terms of memory consumption, as we will have a
compositing environment anyway ;)

CU

Matthias

-- 
Matthias Hopf <mhopf at suse.de>       __        __   __
Maxfeldstr. 5 / 90409 Nuernberg    (_   | |  (_   |__         mat at mshopf.de
Phone +49-911-74053-715            __)  |_|  __)  |__  labs   www.mshopf.de



More information about the xorg mailing list