From: brucec@phoebus.labs.tek.com (Bruce Cohen)
Subject: Re: Object database rendering
Date: 10 Jan 92 18:49:25 GMT
Organization: Computer Research Lab, Tektronix Inc.



In article <1992Jan10.030838.20727@milton.u.washington.edu>
thinman@netcom.netcom.com (Lance Norskog) writes:

> A: just use an array of pairs of: (Zvalue, poly#).
> When you project poly X, check all the corners.  If they are
> all under poly Y, toss poly X.  Else, "paint" poly X
> into the (Zvalue, poly X) tuples.  When all polys are done,
> paint the screen from the poly numbers.  You can use
> the Z values for mist or something.  Before filling the
> Z array, clear it with the background poly.

... omitted ...

> B: each pixel is an array index, or empty.  The array is
> a tuple of: Z value, object number, next index (or empty).
> The effect is to have a linked list of polys for each pixel.
> But, you only link the corners of the poly into the lists.
> 
> Now, if all the corners of poly X would fit under the same
> poly Y, you can toss poly X since it is completely obscured
> by poly Y.

I may be missing something, but I think both these algorithms as stated
will have trouble with non-coplanar polygons which either intersect or
lie on intersecting planes.   Or were those cases you omitted for
clarity?

------------------------------------------------------------------------
Speaker-to-managers, aka
Bruce Cohen, Computer Research Lab        email: brucec@crl.labs.tek.com
Tektronix Laboratories, Tektronix, Inc.                phone: (503)627-5241
M/S 50-662, P.O. Box 500, Beaverton, OR  97077
