Man Linux: Main Page and Category List

NAME

       icetInputOutputBuffers -- set IceT composition mode.

Synopsis

       #include <GL/ice-t.h>

       void icetInputOutputBuffers(   GLenum   inputs,
                                      GLenum   outputs  );

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.

       ICET_DEPTH_BUFFER_BIT
               Reads/generates  depth  data.   Depth  data is stored as 32-bit
              unsigned integers.

       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.

See Also

       icetGetColorBuffer(3), icetGetDepthBuffer(3), icetDrawFrame(3)

IceT Reference                 February 14, 2008     icetInputOutputBuffers(3)