NAME
icetGet -- get an IceT 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 IceT is defined by a large state machine.
Also like OpenGL, the state parameters can be retrieved through the
icetGet 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 IceT 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
IceT 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. IceT
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 IceT 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 icetBoundingVertices 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 icetAddTile 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 IceT 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 IceT 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 IceT or are more appropriately retrieved
with other functions such as icetIsEnabled.
Copyright
Copyright (C)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(3), icetGetStrategyName(3)
IceT Reference December 1, 2006 icetGet(3)