|
![](/i/fill.gif) |
On 24 Jan 2001 08:17:25 -0500, Warp wrote:
> Z-buffering is a working solution, but it's quite elaborated if you want
>it to work well. Each pixel of each polygons must have a depth information
>which has to be calculated from the depth information of the vertices of the
>polygon. This depth information has to be perspective corrected if you want
>it to look right (if you just interpolate linearly you'll get a wrong result;
>your polygons will look like they were bended in the depth direction, and
>the bending amount will change depending on the orientation of the polygon).
>Calculating perspective correct interpolation of depth information is not
>what I consider trivial.
You seem to be using a different definition of "Z-buffering" than is common.
You need an extra "depth" element for each pixel on the display, not for
each pixel on each polygon (whatever that means.) Also, since the depth
information is only used for comparison purposes and not for appearance, I'm
not convinced by the claim that the polygons appear bent if you don't
correct for perspective. I'm not even sure how one would go about correcting
for perspective; it seems to me that the projection doesn't matter as long
as you can compute a distance from the 3-space position of the pixel you're
rendering (on a notional "film plane") to the 3-space position of the point
you're mapping there. The projection only matters for computing that mapping,
and that's not a Z-buffer problem; you'd have the same problem with any other
method.
--
Ron Parker http://www2.fwi.com/~parkerr/traces.html
My opinions. Mine. Not anyone else's.
Post a reply to this message
|
![](/i/fill.gif) |