Synopsis

#include <IceT.h>

void icetEnable ( IceTEnum pname );
void icetDisable ( IceTEnum pname );

Description

The icetEnableand icetDisablefunctions turn various IceT features on and off. pname is a symbolic constant representing the feature to be turned on or off. Valid values for pname are:

ICET_COLLECT_IMAGES

When this option is on (the default) images partitions are always collected to display processes. When this option is turned off, the strategy has the option of leaving images partitioned among processes. Each process containing part of a tile's image will return the entire buffer from icetDrawFrame or icetGLDrawFrame in an IceTImage object. However, only certain pixels will be valid. The state variables ICET_VALID_PIXELS_TILE, ICET_VALID_PIXELS_OFFSET, and ICET_VALID_PIXELS_NUM give which tile the pixels belong to and what range of pixels are valid.

ICET_COMPOSITE_ONE_BUFFER

Turn this option on when performing z-buffer compositing of a color image and the only result you need is the color image itself (not the depth buffer). This is common if you are just creating an image and are not interested in doing depth queries. This option is on by default.

ICET_CORRECT_COLORED_BACKGROUND

Colored backgrounds are problematic when performing color blended compositing in that the background color will be additively blended from each image. Enabling this flag will internally cause the color to be reset to black and then cause the color to be blended back into the resulting images. This flag is disabled by default.

ICET_FLOATING_VIEWPORT

If enabled, the projection will be shifted such that the geometry will be rendered in one shot whenever possible, even if the geometry straddles up to four tiles. This flag is enabled by default.

ICET_INTERLACE_IMAGES

If enabled, pixels in images (might be) shuffled to better load balance the compositing work. This flag is enabled by default.

ICET_ORDERED_COMPOSITE

If enabled, the image composition will be performed in the order specified by the last call to icetCompositeOrder, assuming the current strategy (specified by a call to icetStrategy) supports ordered composition. Generally, you want to enable ordered compositing if doing color blending and disable if you are doing z-buffer comparisons. If enabled, you should call icetCompositeOrder between each frame to update the image order as camera angles change. This flag is disabled by default.

In addition, if you are using the OpenGL layer (i.e., have called icetGLInitialize), these options, defined in IceTGL.h, are also available.

ICET_GL_DISPLAY

If enabled, the final, composited image for each tile is written back to the frame buffer before the return of icetGLDrawFrame. This flag is enabled by default.

ICET_GL_DISPLAY_COLORED_BACKGROUND

If this and ICET_GL_DISPLAY are enabled, IceT uses OpenGL blending to ensure that all background is set to the correct color. This flag is disabled by default. This option does not affect the images returned from icetGLDrawFrame; it only affects the image in the OpenGL color buffer.

ICET_GL_DISPLAY_INFLATE

If this and ICET_GL_DISPLAY are enabled and the renderable window is larger than the displayed tile (as determined by the current OpenGL viewport), then resample the image to fit within the renderable window before writing back to frame buffer. This flag is disabled by default. This option does not affect the images returned from icetGLDrawFrame; it only affects the image in the OpenGL color buffer. If this option is not enabled, then images are written at their natural size in the lower left corner of the window.

ICET_GL_DISPLAY_INFLATE_WITH_HARDWARE

This option determines how images are inflated. When enabled (the default), images are inflated by creating a texture and allowing the hardware to inflate the image. When disabled, images are inflated on the CPU. This option has no effect unless both ICET_GL_DISPLAY and ICET_GL_DISPLAY_INFLATE are also enabled.

Errors

ICET_INVALID_VALUE

If pname is not a feature to be enabled or disabled.

Warnings

None.

Bugs

The check for a valid pname is not thorough, and thus the ICET_INVALID_VALUE error may not always be raised.

Copyright

Copyright (C)2003 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