[comp.graphics] Z Buffer for Amiga

cpca@iceman.jcu.oz (C Adams) (10/30/90)

Does anybody have C code for the Z buffer hidden surface algorithm.
I would prefer code for the Amiga, but anything would be of
help.

Please send email.  Thanks in advance.


Colin Adams        You need to have a woman, before you can have a Sun :-)
Email Address -    cpca@marlin.jcu.edu.au

jk87377@assari.tut.fi (Juhana Kouhia) (10/31/90)

In article <1157@iceman.jcu.oz> cpca@iceman.jcu.oz (C Adams) writes:
>Does anybody have C code for the Z buffer hidden surface algorithm.
>I would prefer code for the Amiga, but anything would be of
>help.

Hey, why is z-buffer based program hard to make by yourself?

How many people out there have made z-buffer based program?
Every year I read many wonderful articles from SIGGRAPH conference
proceeding, from IEEE CG&A journal, but I have never implemented
anything directly from papers.

How common this is?
Have anybody implemented for example Beam Tracer (1984), Path Tracer
(1987), Spacetime Constraints (1988), REYES type hidden surface
algorithm; dicing (1987), etc. etc.?

How many of you think "Hey, nice algorithm... this I must do", when
you see a new algorithm in the journal?

Juhana Kouhia
jk87377@tut.fi

AER6101@TECHNION.BITNET (11/02/90)

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<x,y,z<1 cube, but perhaps I am missing something else. If anybody

has an opinion or reference that could help me I would be very pleased

to receive it in my E-mail (aer6101@technion.bitnet). I would summarize

the received answers and post a message with the conclusions.

Thanking you in advance,        jacques-