NAME

Synopsis

Description

icetInputOutputBuffers
sets what OpenGL frame buffers IceT reads
and generates. During a call to icetDrawFrame,
IceT reads the
input buffers directly from OpenGL after it performs a callback to the
draw function (set by icetDrawFunc).
Output buffers are stored
internally after the call to icetDrawFrame
finishes. The output
buffers can be retrieved with calls to the icetGetColorBuffer
and
icetGetDepthBuffer
functions. In addition, if the color buffer
output is on and ICET_DISPLAY
is enabled, the color buffer is
also written back to the OpenGL frame buffer before icetDrawFrame
returns.

Both inputs
and outputs
are or'ed values of one or more
of the following flags:

ICET_COLOR_BUFFER_BIT

Reads/generates color data.
Color data is stored in RGBA or BGRA format. Each channel is 8-bits,
resulting in a 32-bit word when combined together. Each 32-bit color
value is always aligned on 32-bit word boundaries for faster
computation.

The current values of the input and output buffers are stored in the
ICET_INPUT_BUFFERS
and ICET_OUTPUT_BUFFERS
state
variables. By default, the ICET_INPUT_BUFFERS
value is set to
$(ICET_COLOR_BUFFER_BIT
| ICET_DEPTH_BUFFER_BIT)$,
and the ICET_OUTPUT_BUFFERS
value is set to
$ICET_COLOR_BUFFER_BIT$.

The composition operator IceT uses is defined by the inputs. If the
depth buffer is an input, then Z comparison is performed. If the depth
buffer is not an input, alpha blending is performed. Note that in the
latter case, order of composition may matter and therefore not all
composition strategies will work.

Errors

ICET_INVALID_VALUE

An output was selected that is
not also an input or no outputs were selected at all.

Warnings

None.

Bugs

Blending of colors cannot be used in conjunction with depth testing.
Even with depth testing, the order of operation for color blending is
important, so such a combination is not likely to be useful.

Copyright

Copyright (C)2003 Sandia Corporation

Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
license for use of this work by or on behalf of the U.S. Government.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that this Notice and any statement
of authorship are reproduced on all copies.