icetSetColorFormat(3)

NAME
icetSetColorFormat,icetSetDepthFormat-- specifies the buffer formats for IceT to use when creating images

Synopsis

#include <IceT.h>

void icetSetColorFormat( | IceTEnum | color_format );
void icetSetDepthFormat( | IceTEnum | depth_format );

Description

When IceT creates image objects, it uses the formats specified by icetSetColorFormatand icetSetDepthFormat.These will be the formats of images passed to drawing callbacks (specified by icetDrawCallback or icetGLDrawCallback) and of images returned from frame drawing functions (icetDrawFrame or icetGLDrawFrame). It is also the format expected for image buffers passed to icetCompositeImage.

The following color_formats are valid for use in icetSetColorFormat.

ICET_IMAGE_COLOR_RGBA_UBYTE
     Each entry is an RGBA color tuple. Each component is valued in the range from 0 to 255 and is stored as an 8-bit integer. The buffer will always be allocated on memory boundaries such that each color value can be treated as a single 32-bit integer.

ICET_IMAGE_COLOR_RGBA_FLOAT
     Each entry is an RGBA color tuple. Each component is in the range from 0.0 to 1.0 and is stored as a 32-bit float.

ICET_IMAGE_COLOR_RGB_FLOAT
     Each entry is an RGB color triple. Each component is in the range from 0.0 to 1.0 and is stored as a 32-bit float. Note that there is no alpha channel, so the color blending composite mode will not work with this color format.

ICET_IMAGE_COLOR_NONE
     No color values are stored in the image.

The following depth_formats are valid for use in icetSetDepthFormat.

ICET_IMAGE_DEPTH_FLOAT
     Each entry is in the range from 0.0 (near plane) to 1.0 (far plane) and is stored as a 32-bit float.

ICET_IMAGE_DEPTH_NONE
     No depth values are stored in the image.

The color and depth formats are stored in the ICET_COLOR_FORMAT and ICET_DEPTH_FORMAT state variables, respectively.

Errors

ICET_INVALID_OPERATION
     icetSetColorFormator icetSetDepthFormatwas called while IceT was drawing a frame. This probably means that you called icetSetColorFormat in a drawing callback. You cannot do that. Call this function before starting the draw operation.

ICET_INVALID_ENUM
     The color_format or depth_format given is invalid.

Warnings

None.

Bugs

None known.

Notes

Calling either icetSetColorFormator icetSetDepthFormatdoes not change the format of any existing images. It only changes any subsequently created images.

The color format must be set before calling icetDrawFrame, icetGLDrawFrame, or icetCompositeImage. Doing otherwise would create inconsistencies in the images created and composited together.

Copyright
Copyright (C)2010 Sandia Corporation

Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software.

This source code is released under the New BSD License.

See Also

icetImageGetColorFormat(3), icetImageGetDepthFormat(3)