Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

icetdrawframe(3) [debian man page]

icetDrawFrame(3)						  IceT Reference						  icetDrawFrame(3)

NAME
icetDrawFrame -- renders and composites a frame Synopsis #include <IceT.h> IceTImage icetDrawFrame( const IceTDouble * projection_matrix, const IceTDouble * modelview_matrix, const IceTFloat * background_color ); Description Initiates a frame draw using the given transformation matrices (modelview and projection). If you are using OpenGL ,you should probably use the icetGLDrawFrame function and associated icetGLDrawCallback. Before IceT may render an image, the tiled display needs to be defined (using icetAddTile), the drawing function needs to be set (using icetDrawCallback), and composite strategy must be set (using icetStrategy). The single image sub-strategy may also optionally be set (using icetSingleImageStrategy). All processes in the current IceT context must call icetDrawFrame for it to complete. During compositing, IceT uses the given projection_matrix and modelview_matrix, as well as the bounds given in the last call to icetBound- ingBox or icetBoundingVertices, to determine onto which pixels the local geometry projects. If the given matrices are not the same used in the rendering or the given bounds do not contain the geometry, IceT may clip the geometry in surprising ways. Furthermore, IceT will modify the projection_matrix for the drawing callback to change the projection onto (or in between) tiles. Thus, you should pass the desired pro- jection_matrix to icetDrawFrame and then use the version passed to the drawing callback. Return Value On each .igdisplay processdisplay process (as defined by icetAddTile, icetDrawFrame returns an image of the fully composited image. The contents of the image are undefined for any non-display process. If the ICET_COMPOSITE_ONE_BUFFER option is on and both a color and depth buffer is specified with icetSetColorFormatand icetSetDepthFor- mat,then the returned image might be missing the depth buffer. The rational behind this option is that often both the color and depth buf- fer is necessary in order to composite the color buffer, but the composited depth buffer is not needed. In this case, the compositing might save some time by not transferring depth information at the latter stage of compositing. The returned image uses memory buffers that will be reclaimed the next time IceT renders a frame. Do not use this image after the next call to icetDrawFrame (unless you have changed the IceT context). Errors ICET_INVALID_OPERATION Raised if the icetGLInitialize has not been called or if the drawing callback has not been set. Also can be raised if icetDrawFrame is called recursively, probably from within the drawing callback. ICET_OUT_OF_MEMORY Not enough memory left to hold intermittent frame buffers and other temporary data. icetDrawFrame may also indirectly raise an error if there is an issue with the strategy or callback. Warnings None. Bugs If compositing with color blending on, the image returned may have a black background instead of the background_color requested. This can be corrected by blending the returned image over the desired background. This will be done for you if the ICET_CORRECT_COLORED_BACKGROUND is on. 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 icetAddTile(3), icetBoundingBox(3), icetBoundingVertices(3), icetDrawCallback(3), icetGLDrawFrame(3), icetSingleImageStrategy(3), icetStrategy(3) IceT Reference August 9, 2010 icetDrawFrame(3)

Check Out this Related Man Page

icetStrategy(3) 						  IceT Reference						   icetStrategy(3)

NAME
icetStrategy -- set the strategy used to composite images. Synopsis #include <IceT.h> void icetStrategy( IceTEnum strategy ); Description The IceT API comes packaged with several algorithms for compositing images. The algorithm to use is determined by selecting a strategy. The strategy is selected with icetStrategy. A strategy must be selected before icetDrawFrame is called. A strategy is chosen from one of the following provided enumerated values: ICET_STRATEGY_SEQUENTIAL Basically applies a ``traditional'' single tile composition (such as binary swap) to each tile in the order they were defined. Because each process must take part in the composition of each tile regardless of whether they draw into it, this strategy is usu- ally inefficient when compositing for more than one tile, but is recommended for the single tile case because it bypasses some of the communication necessary for the other multi-tile strategies. ICET_STRATEGY_DIRECT As each process renders an image for a tile, that image is sent directly to the process that will display that tile. This usually results in a few processes receiving and processing the majority of the data, and is therefore usually an inefficient strategy. ICET_STRATEGY_SPLIT Like ICET_STRATEGY_DIRECT, except that the tiles are split up, and each process is assigned a piece of a tile in such a way that each process receives and handles about the same amount of data. This strategy is often very efficient, but due to the large amount of messages passed, it has not proven to be very scalable or robust. ICET_STRATEGY_REDUCE A two phase algorithm. In the first phase, tile images are redistributed such that each process has one image for one tile. In the second phase, a ``traditional'' single tile composition is performed for each tile. Since each process contains an image for only one tile, all these compositions may happen simultaneously. This is a well rounded strategy that seems to perform well in a wide variety of multi-tile applications. (However, in the special case where only one tile is defined, the sequential strategy is proba- bly better.) ICET_STRATEGY_VTREE An extension to the binary tree algorithm for image composition. Sets up a ``virtual'' composition tree for each tile image. Pro- cesses that belong to multiple trees (because they render to more than one tile) are allowed to float between trees. This strategy is not quite as well load balanced as ICET_STRATEGY_REDUCE or ICET_STRATEGY_SPLIT, but has very well behaved network communication. Not all of the strategies support ordered image composition. ICET_STRATEGY_SEQUENTIAL, ICET_STRATEGY_DIRECT, and ICET_STRATEGY_REDUCE do support ordered image composition. ICET_STRATEGY_SPLIT and ICET_STRATEGY_VTREE do not support ordered image composition and will ignore ICET_ORDERED_COMPOSITE if it is enabled. Some of the strategies, namely ICET_STRATEGY_SEQUENTIAL and ICET_STRATEGY_REDUCE, use a sub-strategy that composites the image for a single tile. This single image strategy can also be specified with icetSingleImageStrategy. Errors ICET_INVALID_ENUM The strategy argument does not represent a valid strategy. Warnings None. Bugs None known. 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 icetDrawFrame(3), icetGetStrategyName(3) icetSingleImageStrategy(3) IceT Reference August 9, 2010 icetStrategy(3)
Man Page