Scroll to navigation

icetGet(3) IceT Reference icetGet(3)

NAME

icetGet -- get an IceT state parameter

Synopsis

#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 );

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.


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.)

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.

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.

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.

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.

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.

The total time spent in collecting image fragments to display processes during the last call to icetDrawFrame, icetCompositeImage, or icetGLDrawFrame.

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.

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.

The composite mode set by icetCompositeMode. A single entry stored as an IceTEnum.

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.

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.

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.

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.

The length of the ICET_DATA_REPLICATION_GROUP array.

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.

The diagnostics flags set with icetDiagnostics.

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.

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

The number of times icetDrawFrame, icetCompositeImage, or icetGLDrawFrame has been called for the current context.

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$.

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 total time, in seconds, spent in copying pixels to interlace images for better load balancing during the last call to icetDrawFrame, icetCompositeImage, or icetGLDrawFrame. Stored as a double.

The target k value used when compositing with the radix-k single image strategy.

The target number of maximum image splits to be performed by compositing strategies.

The number of bounding vertices listed in the ICET_GEOMETRY_BOUNDS parameter.

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

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

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.

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.

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.

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

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.

The single image sub-strategy set with icetSingleImageStrategy. Use icetGetSingleImageStrategyName to get a user-readable name for the single image strategy.

The strategy set with icetStrategy. Use icetGetStrategyName to get a user-readable name for the strategy.

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

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.

The maximum height of any tile.

The maximum width of any tile.

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.

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.

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.

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.

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.


A pointer to the OpenGL drawing callback function, as set by icetGLDrawCallback.

The OpenGL buffer to read from (and write to). Set with icetGLSetReadBuffer.

Errors


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

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 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

icetIsEnabled(3), icetGetStrategyName(3)

February 10, 2015 IceT Reference