On Sun, 21 May 2000, Christoph Egger wrote:

> On Sun, 21 May 2000, Jon M. Taylor wrote:
> 
> > On Sun, 21 May 2000, Christoph Egger wrote:
> > 
> > > On Sat, 20 May 2000, Jon M. Taylor wrote:
> > > 
> > > > 2: Chainable three-source blend stages which can do pretty much any type
> > > > of pixel-pipe effects: texturing, filtering, colorspace conversion, alpha
> > > > channel/test, colorkey, etc etc.  The stage inputs untyped but usually
> > > > pointers to miPixmap structs for blitting, texturing and the like.  The
> > > > stages are typed (XMI_BLEND_TEXTURE, XMI_BLEND_STENCIL, etc.), so it
> > > > should be easy to walk the list for each miGC struct (where they are kept)
> > > > and optimally accelerate the different stages on a per-target basis.  
> > > > This is similar to DirectX's multitexturing but more generalized and
> > > > flexible.
> > > 
> > > Nice. But how should a 3d-lib or a 3d-extension handle the z-buffer using
> > > this xmi-functions?
> > 
> >     It doesn't.  LibXMI is a 2D library.  There are no z-coordinates
> > to use with a z-buffer.
> 
> There is a missunderstanding. What I meant is, how a 3d-lib has to
> handle using a z-buffer _and_ using the libxmi-function, so that the
> 3d-lib doesn't have to have its own texture-implementation.

        OK.  Hm.  Well, the first idea that spings to mind is to use a
"blend stage" which would take as one of its inputs the z-value(s) of the
write, and the other input would be a pointer to a z-buffer.  Write
through the stage and it updates the z-buffer.  All you would need to do
is to put this z-test stage after the texture stage(s) and it would not
interfere with texturing.

> I hope I am clear for now.

        Sure.

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