Re: Depth Buffer

New Message Reply Date view Thread view Subject view Author view

Angus Dorbie (dorbie++at++multipass.engr.sgi.com)
Fri, 26 Sep 1997 08:09:12 -0700


On Sep 25, 12:38pm, Steve Baker wrote:
> Subject: Re: Depth Buffer
> On Thu, 25 Sep 1997, Paul Berridge wrote:
>
> > Can anyone tell me how to calculate depth from the value stored in the
> > depth buffer?
> >
> > I guessed that it would be something like:
> >
> > depth = nearClip*farClip/((1-dBuffVal)*farClip+dBuffVal*nearClip),
> >
> > which gives depth values between the near and far clip ranges, but the
> > results aren't quite right.
> >
> > Alternatively, is there a Performer function I can call to calculate it
> > for me?
>
> This comes up about every 6 months....here is the stock reply...
>
> The 'official' SGI solution to this is...
>
> z = value in z buffer after rendering (input)
> range = distance to pixel in database units (output)
>

Since the depth buffer is not radial it is important to realise that range
as calculated will produce distance along the viewing vector, or stated
another way, distance from a hither plane. It does not produce range from
the eye unless the object is in the centre of the screen. Range from
the eye can be computed from the range from hither.

Cheets,Angus.

Cheers,Angus.
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
            Submissions: info-performer++at++sgi.com
        Admin. requests: info-performer-request++at++sgi.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:56:00 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.