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).