[cairo] glitz internal and cairo rendering model
Bill Spitzak
spitzak at d2.com
Fri May 28 09:38:00 PDT 2004
On Friday 28 May 2004 08:27 am, Stéphane Conversy wrote:
> 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.
My feeling is that there can and should be some additions to Cairo to support
pre-tesselation, without going all the way to display lists. The main thing
to add is some non-path primitives. The most important one is
list-of-rectangles, which could be greatly accelerated if the CTM is all
integers. The others to add are triangle strip and triangle fan, and
trapazoids (trapazoids are for the Xrender backend and are only accelerated
if there is no rotation in the CTM). All of these would replace the current
path and only "fill" would work, doing "stroke" would produce undefined
results.
Cairo should also provide a tesselate-fill and tesselate-stroke function that
returns a structure defining a series of these calls, so a program can use
the fill/stroke engine and remember the result.
I am not proposing display lists, these would be sent from the application
just like the path currently is. I would prefer if work was directed toward
improving the ipc so that a triangle list in the app's memory is as good as a
triangle list in the server's memory.
--
,~,~,~,~ ~ ~ ~ ~
/\_ _|_========___ Bill Spitzak
~~~/\/\\~~~~~~\____________/~~~~~~~~ spitzak at d2.com
More information about the cairo
mailing list