icetGet -- get an IceT state
parameter
#include <IceT.h>
void icetGetDoublev( |
IceTEnum |
pname, |
|
IceTDouble * |
params ); |
void icetGetFloatv( |
IceTEnum |
pname, |
|
IceTFloat * |
params ); |
void icetGetIntegerv( |
IceTEnum |
pname, |
|
IceTInt * |
params ); |
void icetGetBooleanv( |
IceTEnum |
pname, |
|
IceTBoolean * |
params ); |
void icetGetEnumv( |
IceTEnum |
pname, |
|
IceTEnum * |
params ); |
void icetGetBitFieldv( |
IceTEnum |
pname, |
|
IceTBitField * |
params ); |
void icetGetPointerv( |
IceTEnum |
pname, |
|
IceTVoid ** |
params ); |
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.
The following list identifies valid values for pname and a
description of the associated state parameter.
- 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. This
value is set either to the last value passed to icetDrawFrame or
icetCompositeImage, the OpenGL background color if
icetGLDrawFrame was called, or to black for
color blending. (The correct background color is restored
later.)
- ICET_BACKGROUND_COLOR_WORD
-
The same as ICET_BACKGROUND_COLOR except that each component is
stored as 8-bit RGBA values and packed in a 4-byte integer. 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, icetCompositeImage,
or icetGLDrawFrame. Stored as a double. An alias for this value is
ICET_COMPARE_TIME.
- ICET_BUFFER_READ_TIME
-
The total time, in seconds, spent copying buffer data and reading from
OpenGL buffers during the last call to
icetDrawFrame, icetCompositeImage,
or icetGLDrawFrame. Stored as a
double.
- ICET_BUFFER_WRITE_TIME
-
The total time, in seconds, spent writing to OpenGL buffers during the
last call to icetGLDrawFrame. Always set to
0.0 after a call to icetDrawFrame or
icetCompositeImage. 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,
icetCompositeImage, or icetGLDrawFrame. Stored as an
integer.
- ICET_COLLECT_TIME
-
The total time spent in collecting image fragments to display processes
during the last call to icetDrawFrame, icetCompositeImage,
or icetGLDrawFrame.
- ICET_COLOR_FORMAT
-
The color format of images to be created by the rendering subsystem and
composited by IceT .Use icetSetColorFormat to set the color
format. Use icetImageGetColorFormat to safely get the color format
for a particular image.
- ICET_COMPARE_TIME
-
The total time, in seconds, spent in performing Z comparisons of images
during the last call to icetDrawFrame, icetCompositeImage,
or icetGLDrawFrame. Stored as a double. An alias for this value is
ICET_BLEND_TIME.
- ICET_COMPOSITE_MODE
-
The composite mode set by icetCompositeMode. A single entry stored
as an IceTEnum.
- ICET_COMPOSITE_ORDER
-
The order in which images are to be composited if
ICET_ORDERED_COMPOSITE is enabled and the current strategy 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, icetCompositeImage, or
icetGLDrawFrame. 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,
icetCompositeImage, or icetGLDrawFrame. 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
icetDrawCallback or icetGLDrawCallback). 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_FORMAT
-
The depth format of images to be created by the rendering subsystem and
composited by IceT .Use icetSetDepthFormat to set the depth
format. Use icetImageGetDepthFormat to safely get the depth format
for a particular image.
- 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
icetDrawCallback.
- ICET_FRAME_COUNT
-
The number of times icetDrawFrame, icetCompositeImage, or
icetGLDrawFrame 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.
- ICET_MAGIC_K
-
The target k value used when compositing with the radix-k single image
strategy.
- ICET_MAX_IMAGE_SPLIT
-
The target number of maximum image splits to be performed by compositing
strategies.
- 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_PHYSICAL_RENDER_HEIGHT
-
The height of the images generated by the rendering system. This is set to
the OpenGL viewport height by icetGLDrawFrame
or otherwise by explicitly setting it with
icetPhysicalRenderSize or otherwise implicitly to
the largest tile height specified with
icetAddTile.
- ICET_PHYSICAL_RENDER_WIDTH
-
The width of the images generated by the rendering system. This is set to
the OpenGL viewport width by icetGLDrawFrame
or otherwise by explicitly setting it with
icetPhysicalRenderSize or otherwise implicitly to
the largest tile width specified with
icetAddTile.
- 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_RENDER_TIME
-
The total time, in seconds, spent in the drawing callback during the last
call to icetDrawFrame or icetGLDrawFrame. Always set to 0.0
after a call to icetCompositeImage. Stored as a double.
- ICET_SINGLE_IMAGE_STRATEGY
-
The single image sub-strategy set with icetSingleImageStrategy. Use
icetGetSingleImageStrategyName to get a user-readable name for the
single image strategy.
- ICET_STRATEGY
-
The strategy set with icetStrategy. Use icetGetStrategyName
to get a user-readable name for the strategy.
- 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_VIEWPORTS 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_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$. The viewports are listed in
the same order as the tiles were defined with
icetAddTile.
- ICET_TOTAL_DRAW_TIME
-
Time spent in the last call to icetDrawFrame,
icetCompositeImage, or icetGLDrawFrame. This includes all
the time to render, read back, compress, and composite images. Stored as a
double.
- ICET_VALID_PIXELS_NUM
-
In conjunction with ICET_VALID_PIXELS_OFFSET, gives the range of
valid pixels for the last image returned from icetDrawFrame,
icetCompositeImage, or icetGLDrawFrame. Given the arrays of
pixels returned with the icetImageGetColor and
icetImageGetDepth functions, the valid pixels start at the pixel
indexed by ICET_VALID_PIXELS_OFFSET and continue for
ICET_VALID_PIXELS_NUM. The tile to which these pixels belong are
captured in the ICET_VALID_PIXELS_TILE state variable. If the last
call to icetDrawFrame, icetCompositeImage, or
icetGLDrawFrame did not return pixels for the local process,
ICET_VALID_PIXELS_NUM is set to 0. This state variable is only
useful when ICET_COLLECT_IMAGES is off. If on, it can be assumed
that all display processes contain all pixels in the image
(ICET_VALID_PIXELS_NUM is the number of pixels in the image), and
all other processes have no pixel data.
- ICET_VALID_PIXELS_OFFSET
-
In conjunction with ICET_VALID_PIXELS_NUM, gives the range of valid
pixels for the last image returned from icetDrawFrame,
icetCompositeImage, or icetGLDrawFrame. Given the arrays of
pixels returned with the icetImageGetColor and
icetImageGetDepth functions, the valid pixels start at the pixel
indexed by ICET_VALID_PIXELS_OFFSET and continue for
ICET_VALID_PIXELS_NUM. The tile to which these pixels belong are
captured in the ICET_VALID_PIXELS_TILE state variable. This state
variable is only useful when ICET_COLLECT_IMAGES is off. If on, it
can be assumed that all display processes contain all pixels in the image
(ICET_VALID_PIXELS_OFFSET is 0), and all other processes have no
pixel data.
- ICET_VALID_PIXELS_TILE
-
Gives the tile for which the last image returned from icetDrawFrame,
icetCompositeImage, or icetGLDrawFrame contains pixels. Each
process has its own value. If the last call to icetDrawFrame,
icetCompositeImage, or icetGLDrawFrame did not return pixels
for the local process, then this state variable is set to -1. This state
variable is only useful when ICET_COLLECT_IMAGES is off. If on, it
can be assumed that all display processes have valid pixels for their
respective display tiles, and all other processes have no pixel data.
In addition, if you are using the OpenGL layer (i.e., have
called icetGLInitialize), these variables,
defined in IceTGL.h, are also available.
- ICET_GL_DRAW_FUNCTION
-
A pointer to the OpenGL drawing callback function, as set by
icetGLDrawCallback.
- ICET_GL_READ_BUFFER
-
The OpenGL buffer to read from (and write to). Set with
icetGLSetReadBuffer.
- 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.
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 (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.