On Sat, 6 Jul 2002, Nick Name wrote: > On Sat, 6 Jul 2002 12:35:32 -0700 (PDT) > Mark Vojkovich <[EMAIL PROTECTED]> wrote: > > > Rendering the entire X11 primitive set in OpenGL > > probably isn't possible because X11 has things that aren't in > > OpenGL - like planemasks. So you'd have to fall back to a drawpixels > > sort of implementation if you want a compliant implementation. > > Hmm... maybe I could have a mixed implementation, "drawpixels" on a texture for what >is not implementable in opengl. But looks like it would require much more work than >simply modifying shadowfb.
The problem with that is that once you've gone into a shadow buffer approach you always have to keep the shadow buffer up to date, so you've always got to render in software to the shadow buffers. So even if you could use the the HW to draw a solid rect into the real framebuffer, you need to put that solid rect in the software buffer too. That's probably generally faster than drawing into the shadow buffer and copying, but it complicates the implementation somewhat. Alternatively, you could always draw into the framebuffer for whatever X11 primitives GL could do, but when you came across something that you couldn't do, you would have to do readpixels then modify the data and then drawpixels to put it back. Generally, the performance of readpixels is pretty bad though. Note that X11 is a pixel-perfect specification, so the likelyhood of your OpenGL implementation being able to draw anything other than glRectangle properly is slim to none. So even for rop, planemask, fillStyle combinations that GL could manage you're pretty much stuck with using the X-server's "mi" routines that break everything into spans. Mark. _______________________________________________ Xpert mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xpert