Z-Buffers

The DirectDraw HEL can create z-buffers for use by Direct3D™ or other 3D-rendering software. The HEL supports both 16- and 32-bit z-buffers. The DirectDraw device driver for a 3D-accelerated display card can permit the creation of z-buffers in display memory by exporting the DDSCAPS_ZBUFFER flag. It should also specify the z-buffer depths it supports by using the dwZBufferBitDepths member of the DDCAPS structure.

An application can clear z-buffers by using the IDirectDrawSurface2::Blt method. The DDBLT_DEPTHFILL flag indicates that the blit clears z-buffers. If this flag is specified, the DDBLTFX structure passed to the IDirectDrawSurface2::Blt method should have its dwFillDepth member set to the required z-depth. If the DirectDraw device driver for a 3D-accelerated display card is designed to provide support for z-buffer clearing in hardware, it should export the DDCAPS_BLTDEPTHFILL flag and should handle DDBLT_DEPTHFILL blits. The destination surface of a depth-fill blit must be a z-buffer.

Note The actual interpretation of a depth value is specific to the 3D renderer.