CompuServe Messages

Zbuffer IXP in DL1

    15-Nov-94 15:51:36
Sb: #136109-Zbuffer IXP in DL1
Fm: Yost Group 76702,413
To: David Stinnett 70214,774
Good point. What you really need for z-buffer compositing effects is an IXP that does some filtering around the objects. Here's what's actually going on in SEEZ. SEEZ takes the 'zmin' and 'zmax' values from the FrameParm structure, then normalizes the values between the z minimum and z maximum to range from 255-0. That's why SEEZ causes the nearest part of the objects in the scene to be bright white. If the code is altered with some arbitrary near/far values, the objects will get dimmer as they recede. (Tom wrote SEEZ this way so that he could mess around with random dot stereograms.) To summarize, each pixel's Z value reflects the distance from the camera to the nearest object fragment in that pixel. If the view is not a camera, then the Z value in the pixel is not the distance from the viewer (since the view is orthographic, there is no viewpoint) but the distance from the point being looked at. In orthographic views, Z values can be negative. True, this can cause aliasing to occur if simple compositing is done, and won't work well for transparent objects, but with some filtering, it can work very effectively. This is what the folks at Digimation are probably doing to get their depth-of-field zbuffer-based routine, and it's also why I put the source code to SEEZ in the zip file… so other developers could take the concepts and run with them (a la Digimation).