[cairo] glitz internal and cairo rendering model

Stéphane Conversy conversy at cena.fr
Fri May 28 07:54:29 PDT 2004

Le 28 mai 04, à 15:19, David Reveman a écrit :
> Yes, unless you save the result in a glitz offscreen surface (pbuffer 
> or
> texture),
> you'll need to let cairo do all the tesselation again.
> However, I plan on trying to add a new type of surface to glitz, a kind
> of retained mode rendering surface. All rendering to this type of
> surface will be stored in display lists and compositing this surface
> onto a "real" surface will just call the display list.

it seems to me that you are somewhat trying to bend a metaphor, since 
it's no longer a "surface" but something quite different.
The other thing I think about is that it would be great to benefit from 
vertex arrays, especially
server-side one. The only way to do that would be to ask to cairo the 
vertices it generates during tesselation,
and reuse them for successive frames. But it can only be done within a 
retained-mode model, such
as svg...
The problem occurs  with other graphical attributes, such as gradients 
for example. Btw, what techniques do you use to
display gradients with opengl ? I use textures in my lib...


> When targetting
> this kind of glitz surface with cairo, you'll only need to render it
> once and you can then use the surface multiple times. You'll also be
> able to apply transformations to these kind of surface and that will be
> useful  for zooming and similar effects, however at some level of zoom
> you'll probably need to let cairo re-tesselated the drawing but the
> threshold for this can be handled by the application or a higher level
> library.
> These are just some of my ideas, I don't know if all this is actually
> possible, it'll need some testing to find out.
> -David
stéphane conversy

More information about the cairo mailing list