Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!wuarchive!psuvax1!psuvm!barilvm!technion!aer6101 From: AER6101@TECHNION.BITNET Newsgroups: comp.graphics Subject: Re: Z Buffer for Amiga Message-ID: <90305.160417AER6101@TECHNION.BITNET> Date: 2 Nov 90 08:13:53 GMT References: <1157@iceman.jcu.oz> <1990Oct30.201240.24479@assari.tut.fi> Organization: TECHNION - Israel Institute of Technology. Lines: 43 I am presently working with 3-D scene reconstruction from a sequence of images. The method I am using is based on corner matching between a pair of consecutive images. The output is the estimated depth at the corner pixels. The images are rendered by a perspective projection of 3-D blocks whose vertices are supplied by me as input to the program. However, the detected corners are not necessarily close to those vertices. In order to obtain a measurement of the accuracy of the algorithm I am using, the actual depth at that pixel is needed and I tried to recover it from the z-buffer. I thought that (my station is a SilliconGraphics 4D-GT) the z-buffer values (between 0 and 0x7fffff) were linearly mapped to the world z-coordinates between the closest and farthest planes used in the perspective projection procedure available in the Sillicon's graphic library. The results however don't match the above hypothesis. I tested the values of the z-buffer obtained when viewing a plane at a known depth and it was clear that the relation was not linear. Can someone enlighten me about how the z-buffer values are related to actual depth? I know there is a clipping transformation that transforms the perspective pyramid into a -1