icetGet(3)

NAME
icetGet - get an ICE-T state parameter

SYNOPSIS
#include <GL/ice-t.h>

void icetGetDoublev(GLenum pname, GLdouble *params);
void icetGetFloatv(GLenum pname, GLfloat *params);
void icetGetIntegerv(GLenum pname, GLint *params);
void icetGetBooleanv(GLenum pname, GLboolean *params);
void icetGetPointerv(GLenum pname, GLvoid **params);

DESCRIPTION
Like OpenGL, the operation of ICE-T is defined by a large state machine. Also like OpenGL, the state parameters can be retrieved through the icetGet*v functions. Each function takes a symbolic constant, pname, which identifies the state parameter to retrieve. They also each take an array, params, which will be filled with the values in pname. It is the calling application's responsibility to ensure that params is big enough to hold all the data.

STATE PARAMETERS
The following list identifies valid values for pname and a description of the associated state parameter.

ICET_ABSOLUTE_FAR_DEPTH
    The maximum possible value in the depth buffer (i.e. the value in a cleared depth buffer), as stored as an unsigned 32 bit integer. Usually, this is the expected 0xFFFFFFFF. However, some systems that use buffer values with 24 bits or less cast the maximum value to something smaller.

ICET_BACKGROUND_COLOR
    The color that ICE-T is currently assuming is the background color. It is an RGBA value that is stored as four floating point values.

ICET_BACKGROUND_COLOR_WORD
    The same as ICET_BACKGROUND_COLOR except that each component is stored as 8-bit values and packed in a 4-byte integer as specified by ICET_COLOR_FORMAT. The idea is to rapidly fill the background of color buffers.

ICET_BLEND_TIME
    The total time, in seconds, spent in performing color blending of images during the last call to icetDrawFrame. Stored as a double. An alias for this value is ICET_COMPARE_TIME.

ICET_BUFFER_READ_TIME
    The total time, in seconds, spent reading from OpenGL buffers during the last call to icetDrawFrame. Stored as a double.

ICET_BUFFER_WRITE_TIME
    The total time, in seconds, spent writing to OpenGL buffers during the last call to icetDrawFrame. Stored as a double.

ICET_BYTES_SENT
    The total number of bytes sent by the calling process for transferring image data during the last call to icetDrawFrame. Stored as an integer.

ICET_COLOR_BUFFER_VALID
    True if a color buffer was computed during the last call to icetDrawFrame and is available with a call to icetGetColorBuffer.

ICET_COLOR_FORMAT
    The OpenGL symbolic constant describing the format in which ICE-T reads and stores color buffers. Currently always set to GL_RGBA, GL_BGRA, or GL_BGRA_EXT.

ICET_COMPARE_TIME
    The total time, in seconds, spent in performing Z comparisons of images during the last call to icetDrawFrame. Stored as a double. An alias for this value is ICET_BLEND_TIME.

ICET_COMPOSITE_ORDER
    The order in which images are to be composited if ICET_ORDERED_COMPOSITE is enabled and the current startegy supports ordered compositing. The parameter contains ICET_NUM_PROCESSES entries. The value of this parameter is set with icetCompositeOrder. If the element of index i in the array is set to j, then there are i images ``on top'' of the image generated by process j.

ICET_COMPOSITE_TIME
    The total time, in seconds, spent in compositing during the last call to icetDrawFrame. Equal to ICET_TOTAL_DRAW_TIME - ICET_RENDER_TIME - ICET_BUFFER_READ_TIME - ICET_BUFFER_WRITE_TIME. Stored as a double.

ICET_COMPRESS_TIME
    The total time, in seconds, spent in compressing image data using active pixel encoding during the last call to icetDrawFrame. Stored as a double.

ICET_DATA_REPLICATION_GROUP
    An array of process ids. There are ICET_DATA_REPLICATION_GROUP_SIZE entries in the array. ICE-T assumes that all processes in the list will create the exact same image with their draw functions (set with icetDrawFunc). The local process id (ICET_RANK) will be part of this list.

ICET_DATA_REPLICATION_GROUP_SIZE
    The length of the ICET_DATA_REPLICATION_GROUP array.

ICET_DEPTH_BUFFER_VALID
    True if a depth buffer was computed during the last call to icetDrawFrame and is available with a call to icetGetDepthBuffer.

ICET_DIAGNOSTIC_LEVEL
    The diagnostics flags set with icetDiagnostics.

ICET_DISPLAY_NODES
    An array of process ranks. The size of the array is equal to the number of tiles (ICET_NUM_TILES). The i-th entry is the rank of the process that is displaying the tile described by the i-th entry in ICET_TILE_VIEWPORTS.

ICET_DRAW_FUNCTION
    A pointer to the drawing callback function, as set by icetDrawFunc.

ICET_INPUT_BUFFERS
    A bitmask specifying the the buffers which ICE-T will read from OpenGL and perform composition. The value is set with icetInputOutputBuffers. See the documentation of that function for valid bit flags.

ICET_FRAME_COUNT
    The number of times icetDrawFrame has been called for the current context.

ICET_GEOMETRY_BOUNDS
    An array of vertices whose convex hull bounds the drawn geometry. Set with icetBoundingVerticies or icetBoundingBox*. Each vertex has three coordinates and are tightly packed in the array. The size of the array is 3*ICET_NUM_BOUNDING_VERTS.

ICET_GLOBAL_VIEWPORT
    Defines a viewport in an infinite logical display that covers all tile viewports (listed in ICET_TILE_VIEWPORTS). The viewport, like an OpenGL viewport, is given as the integer four-tuple (x, y, width, height). x and y are placed at the leftmost and lowest position of all the tiles, and width and height are just big enough for the viewport to cover all tiles. The viewports are listed in the same order as the tiles were defined with icetAddTile.

ICET_NUM_BOUNDING_VERTS
    The number of bounding vertices listed in the ICET_GEOMETRY_BOUNDS parameter.

ICET_NUM_TILES
    The number of tiles in the defined display. Basically equal to the number of times icetAddTiles was called after the last icetResetTiles.

ICET_NUM_PROCESSES
    The number of processes in the parallel job as given by the IceTCommunicator object associated with the current context.

ICET_OUTPUT_BUFFERS
    A bitmask specifying the the buffers which ICE-T will generate from composition. The value is set with icetInputOutputBuffers. See the documentation of that function for valid bit flags.

ICET_PROCESS_ORDERS
    Basically, the inverse of ICET_COMPOSITE_ORDER. The parameter contains ICET_NUM_PROCESSES entries. If the element of index i in the array is set to j, then there are j images ``on top'' of the image generated by process i.

ICET_RANK
    The rank of the process as given by the IceTCommunicator object associated with the current context.

ICET_READ_BUFFER
    Set to the OpenGL symbolic constant that ICE-T will use to read back buffers. Currently always set to GL_BACK.

ICET_RENDER_TIME
    The total time, in seconds, spent in the drawing callback during the last call to icetDrawFrame. Stored as a double.

ICET_STRATEGY_SUPPORTS_ORDERING
    Is true if and only if the current strategy supports ordered compositing.

ICET_TILE_DISPLAYED
    The index of the tile the local process is displaying. The index will correspond to the tile entry in the ICET_DISPLAY_NODES and ICET_TILE_VIEWPORT arrays. If set to 0 <= i < ICET_NUM_PROCESSES, then the i-th entry of ICET_DISPLAY_NODES is equal to ICET_RANK. If the local process is not displaying any tile, then ICET_TILE_DISPLAYED is set to -1.

ICET_TILE_MAX_HEIGHT
    The maximum height of any tile.

ICET_TILE_MAX_PIXELS
    The maximum number of pixels in any tile. This number is actually set to (ICET_TILE_MAX_WIDTH * ICET_TILE_MAX_HEIGHT) + ICET_NUM_PROCESSES. The number of processes is added to provide sufficient padding such that the max tile image may be divided evenly amongst any group of processes without dropping any real pixels.

ICET_TILE_MAX_WIDTH
    The maximum width of any tile.

ICET_TILE_VIEWPORTS
    A list of viewports in the logical global display defining the tiles. Each viewport is the four-tuple (x, y, width, height) defining the position and dimensions of a tile in pixels, much like a viewport is defined in OpenGL. The size of the array is 4*ICET_NUM_TILES.

ICET_TOTAL_DRAW_TIME
    Time spent in the last call to icetDrawFrame. Stored as a double.

ERRORS

ICET_BAD_CAST
    The state parameter requested is of a type that cannot be cast to the output type.

ICET_INVALID_ENUM
    pname is not a valid state parameter.

WARNINGS
None.

BUGS
None known.

NOTES
Not every state variable is documented here. There is a set of parameters used internally by ICE-T or are more appropriately retrieved with other functions such as icetIsEnabled.

COPYRIGHT
Copyright © 2003 Sandia Corporation
Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive license for use of this work by or on behalf of the U.S. Government. Redistribution and use in source and binary forms, with or without modification, are permitted provided that this Notice and any statement of authorship are reproduced on all copies.

SEE ALSO
icetIsEnabled, icetGetStrategyName