Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

icetcompositemode(3) [debian man page]

icetCompositeMode(3)						  IceT Reference					      icetCompositeMode(3)

NAME
icetCompositeMode -- set the type of operation used for compositing Synopsis #include <IceT.h> void icetCompositeMode( IceTEnum mode ); Description Sets the composite mode used when combining images. IceT enables parallel rendering by allowing each process in your code to independently render images of partial geometry. These partial-geometry images are then ``composited'' to form a single image equivalent to if all the geometry were rendered by a single process. IceT supports multiple operations that can be used to combine images. The operator you use should be equivalent to that used by your ren- dering system to resolve .ighidden surfacehidden surfaces or mix occluding geometry with that behind it. The argument mode is one of the following enumerations: ICET_COMPOSITE_MODE_Z_BUFFER Use the .igz-bufferz-buffer hidden-surface removal operation. The compositing operation compares the distance of pixel fragments from the viewpoint and passes the fragment closest to the user. In order for this operation to work, images must have a depth buffer (set with icetSetDepthFormat). ICET_COMPOSITE_MODE_BLEND Blend two fragments together using the standard .igover operator.igunder operatorover/under operator. in order for this operation to work, images must have a color buffer (set with icetSetColorFormat)that has an alpha channel and there must be no depth buffer (as the operation makes no sense with depth). Also, this mode will only work if ICET_ORDERED_COMPOSITE is enabled and the order is set with icetCompositeOrder. The default compositing mode is ICET_COMPOSITE_MODE_Z_BUFFER. The current composite mode is stored in the ICET_COMPOSITE_MODE state vari- able. Errors ICET_INVALID_ENUM mode is not a valid composite mode. Warnings None. Bugs icetCompositeMode will let you set a mode even if it is incompatible with other current settings. Some settings will be checked during a call to icetDrawFrame. For example, if the image format (specified with icetSetColorFormatand icetSetDepthFormat)does not support the com- posite mode picked, you will get an error during the call to icetDrawFrame. Other incompatibilities are also not checked. For example, if the composite mode is set to ICET_COMPOSITE_MODE_BLEND, IceT will happily use this operator even if ICET_ORDERED_COMPOSITE is not enabled. However, because order matters in the blend mode, you will probably get incor- rect images if the compositing happens in arbitrary order. Copyright Copyright (C)2010 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 icetCompositeOrder(3), icetSetColorFormat(3), icetSetDepthFormat(3) IceT Reference August 9, 2010 icetCompositeMode(3)

Check Out this Related 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)
Man Page