Re: Depth Buffer

New Message Reply Date view Thread view Subject view Author view

Rémi Arnaud (remi++at++remi.engr.sgi.com)
Thu, 25 Sep 1997 13:30:39 -0700 (PDT)


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.

 glReadPixels(x,y,1,1,GL_DEPTH_COMPONENT,GL_FLOAT,&f);
 z = 2*far*near / (far+near - (far - near) * (2 * f -1.));

 note that the ReadPixel function accuracy is 16bits linear integer,
 even if the Zbuffer is 23bits compressed.

>
> Alternatively, is there a Performer function I can call to calculate it
> for me?

    _ / _ _
|_) _ ._ _ o /\ |_)|\ | /\ | || \
| \(/_| | || /--\| \| \|/--\|_||_/
                                           
=======================================================================
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.