On Sat, 22 Apr 2000, Rodolphe Ortalo wrote:

> 
> Is it possible to have several miPaintedSet per ggi_visual_t ?

        Sure, in fact miPaintedSets are not tied to any one ggi_visual at
present, although this may change in the future (see below).

> If yes, why (ie: what can be done with this feature) ?

        An miPaintedSet is an opaque handle to a somewhat generic
intermediate rendering result object.  Currently in the stubs
implementation it contains a list of spans, but the struct definition
could be swapped out on a per-target basis using void * or whatever.  For
example, the Glide target could store the polygon vertices and color
instead of a span list - much more efficient when that type of accelerated
rendering capacity is present in the target.  In such a case, we _would_
need to associate a set of miPaintedSet "cache objects" with each visual,
since each visual could be using a different target.
 
> Why are there 2 declarations of miDrawArcs in xmi.h ? (POSSIBLE BUG: one
> of them should be reentrant and tagged _r no?)

        I removed that crazy reentrant (*_r) function system.  There are
better ways to implement localized rendering caches, which is what the *_r
functions were being used for.  I figure that it will be a lot easier and
cleaner to attach rendering cache handles to the visual private or
miCanvas struct, and serialize access to them with ggiResourceAcquire().
 
> Are any special interactions to take care of between
> miCopyPaintedSetToCanvas() and ggiFlush() ?

        Shouldn't be.

Jon

---
'Cloning and the reprogramming of DNA is the first serious step in 
becoming one with God.'
        - Scientist G. Richard Seed

Reply via email to