Re: guppi coor system

Jon Trowbridge <> writes:

> In fact, it would be nice if someone wrote a "complex drawing"
> canvas item that would do exactly this.  For moderately complex
> images (like a scatterplot with 1000 points), making each dot an
> individual canvas item imposes way too much overhead and kills
> performance.  To get speed out of the canvas, you need "compound"
> canvas items that collect all of the drawing into one.  (So in
> Guppi, all 1000 points of the scatterplot are really just a single
> canvas item.)  Using an anti-aliased item gets rid of a lot of X
> Protocol overhead, and also lets you bypass X's broken drawing
> primitives.

In the long run, the gtkglarea widget might be a nice solution to some
of the problems, though I don't know if general development will go
that way.

For a recent research project I was using several gtkglareas for
display and they worked pretty well.  Using gltt I was able to add
true-type text rendered in the GL window as GL primitives at arbitrary

In recent GL releases, there's also an API to add callbacks to the
back-end pipeline so that you can act on the final geometric
primitives (vertices, etc.) once GL figures out what they are.  These
hooks can be used to implement a printing infrastructure.  One guy has
started a library that uses these hooks to dump a GL rendering to
postscript.  I played around with it, but it was still pretty limited
in what it supported, and it was a little fragile.  Given some effort,
though, that library might grow into a good GL printing system.

Rob Browning <> PGP=E80E0D04F521A094 532B97F5D64E3930

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]