icetGet3
Usage
#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 ); |
Overview
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_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_COLORexcept 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,oricetGLDrawFrame.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,oricetGLDrawFrame.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 toicetDrawFrameor icetCompositeImage. Stored as adouble.
ICET_BYTES_SENT-
The total number of bytes sent by the calling process for transferring image data during the last call to
icetDrawFrame,icetCompositeImage,oricetGLDrawFrame.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,oricetGLDrawFrame.
ICET_COLOR_FORMAT-
The color format of images to be created by the rendering subsystem and composited by IceT .Use
icetSetColorFormatto set the color format. UseicetImageGetColorFormatto 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,oricetGLDrawFrame.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 anIceTEnum.
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_PROCESSESentries. 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,oricetGLDrawFrame.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
icetDrawCallbackor 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_GROUParray.
ICET_DEPTH_FORMAT-
The depth format of images to be created by the rendering subsystem and composited by IceT .Use
icetSetDepthFormatto set the depth format. UseicetImageGetDepthFormatto 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,oricetGLDrawFramehas 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_INTERLACE_TIME-
The total time, in seconds, spent in copying pixels to interlace images for better load balancing during the last call to icetDrawFrame,
icetCompositeImage,oricetGLDrawFrame.Stored as a double.
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 containsICET_NUM_PROCESSESentries. 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
IceTCommunicatorobject associated with the current context.
ICET_RENDER_TIME-
The total time, in seconds, spent in the drawing callback during the last call to icetDrawFrame
oricetGLDrawFrame.Always set to 0.0 after a call toicetCompositeImage.Stored as a double.
ICET_SINGLE_IMAGE_STRATEGY-
The single image sub-strategy set with icetSingleImageStrategy.
UseicetGetSingleImageStrategyNameto 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$.
Theviewports are listed in the same order as the tiles were defined withicetAddTile.
ICET_TOTAL_DRAW_TIME-
Time spent in the last call to
icetDrawFrame,icetCompositeImage,oricetGLDrawFrame.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 icetImageGetColorandicetImageGetDepthfunctions, the valid pixels start at the pixel indexed by ICET_VALID_PIXELS_OFFSET and continue forICET_VALID_PIXELS_NUM.The tile to which these pixels belong are captured in the ICET_VALID_PIXELS_TILEstatevariable. 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 whenICET_COLLECT_IMAGESis off. If on, it can be assumed that all display processes contain all pixels in the image(ICET_VALID_PIXELS_NUMis 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 icetImageGetColorandicetImageGetDepthfunctions, the valid pixels start at the pixel indexed by ICET_VALID_PIXELS_OFFSET and continue forICET_VALID_PIXELS_NUM.The tile to which these pixels belong are captured in the ICET_VALID_PIXELS_TILEstatevariable. This state variable is only useful whenICET_COLLECT_IMAGESis off. If on, it can be assumed that all display processes contain all pixels in the image(ICET_VALID_PIXELS_OFFSETis 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 toicetDrawFrame,icetCompositeImage,oricetGLDrawFramedid 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.
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.
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.
Releases
8 releases since Debian 6.0 (Squeeze); the text changed 3 times.