[cairo] glitz internal and cairo rendering model
conversy at cena.fr
Fri May 28 08:27:45 PDT 2004
Le 28 mai 04, à 16:43, Keith Packard a écrit :
> Around 11 o'clock on May 28, =?ISO-8859-1?Q?St=E9phane_Conversy?=
>> Does the rendering model implies that the tesselation occurs for each
>> drawing ?
> Yes, but tesselation is transform dependent. If you want to repaint
> objects under the same transformation, just stuff them into a surface.
I'm considering interaction in a zoomable user interface (ZUI). As you
zoom in, there is no need to tesselate
a shape each frame. Just tesselate it once for all at a sufficient LOD,
then reuse it for each frame.
Of course, you can render the shape into a surface, and reuse it as a
texture each frame, but unless the texture is the size of the screen
you'll end up with pixelized image. Not that bad, but bad anyway...
Furthermore, an image in graphical memory takes up more memory than
vertices, and, especially with today's and future's
high-definition screen and GPU the balance between speed of rendering
using vectorial info and pixmap info may well be in favor of the first
As I said in my previous message, if cairo makes tesselation
accessible, at least it can be done in another way, can it ?
However, even with that scheme, it requires a kind of knowledge from
the programmer : if I had to program an svg lib (and, actually, I did,
see my web page), I would use the structure of the scene to try
optimizing things, which is not feasible with straight-cairo.
Well, my point is : glitz can't optimize at the max rendering of cairo
with opengl because of the direct-mode model cairo uses.
Now, my question is : In which way cairo must be changed to make those
optimizations feasible ?
Another question is : does this question make sense, I mean, is there
any point to change cairo that way ?
I hope you won't be upset by my questions or remarks, I have the
feeling of being the bad guy coming from nowhere and only
criticizing work of others...
More information about the cairo