PEXPutZBuffer - Put Z-Buffer (5.2)


Synopsis

 
   void PEXPutZBuffer(
        Display *display,
        PEXRenderer renderer,
        int x,
        int y,
        unsigned int width,
        unsigned int height,
        PEXPointer values
   )
 

Arguments

display
A pointer to a display structure returned by a successful XOpenDisplay call.

renderer
The resource identifier of the renderer.

x,y
The DC origin of the Z-buffer rectangle to be loaded.

width
The DC size (width) forming the Z-buffer rectangle to be loaded.

height
The DC size (height) forming the Z-buffer rectangle to be loaded.

values
A pointer to the values to store in the Z-buffer.

Returns

None.

Description

Invoke PEXPutZBuffer to write the specified values to the Z-buffer.

If the renderer state attribute of the renderer specified by renderer is PEXRendering or PEXMultipassRendering, then the implementation writes the supplied values to the described rectangle of the Z-buffer. If the renderer state is PEXPicking, the values written have an implementation-dependent effect. If the renderer state is PEXIdle, then nothing is written to the Z-buffer.

The x and y coordinates, specified in device coordinates, are relative to the renderer's current drawable origin and define the upper left corner of the rectangle. The width and height, specified in pixels, are inclusive. Nothing is written to regions outside of the drawable or to obscured regions of the drawable. The renderer does not consider the clip list when executing this function.

The values are ordered row by row, starting with the upper left of the rectangle. The Z-buffer values are specified in the range of [0.0, 1.0] in DC space and are mapped to device specific values by the implementation. The values are of type float.

To determine implementation specific information about the Z-buffer, see the PEXGetAncillaryBufferInfo function.

Errors

BadAlloc
The implementation failed to allocate the Z-buffer.

BadMatch
The drawable associated with the renderer cannot have a Z-buffer.

BadPEXRenderer
The specified renderer resource identifier is invalid.

See Also

For a list of all Renderer functions and related topics, see Rendering.