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 rendering 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 variable.
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 or
icetCompositeImage. For example, if the image
format (specified with
icetSetColorFormatand
icetSetDepthFormat)does not support the composite 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 incorrect
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)