% -*- latex -*-


\setDate{July 11, 2011}
% The following must all be on one line for latex2man to work.
\begin{Name}{3}{icetEnable}{Kenneth Moreland}{\IceT Reference}{\icetEnable, \icetDisable --  enable/disable an \IceT feature.}

  \label{manpage:icetDisable}
  \index{icetDisable|(textbf}

  \mansection{Synopsis}

  \textC{\#include <IceT.h>}

  \begin{Table}{4}
    \textC{void }\icetEnable&\textC{(}&\textC{IceTEnum}&\CArg{pname}\quad\textC{);}\\
    \textC{void }\icetDisable&\textC{(}&\textC{IceTEnum}&\CArg{pname}\quad\textC{);}
  \end{Table}

  
  \mansection{Description}

  The \icetEnable and \icetDisable functions turn various \IceT features on
  and off.  \CArg{pname} is a symbolic constant representing the feature to
  be turned on or off.  Valid values for \CArg{pname} are:

  \begin{Description}[xxxxxxxx]
  \item[\CEnum{ICET\_COLLECT\_IMAGES}] When this option is on (the default)
    images partitions are always collected to display processes.  When this
    option is turned off, the strategy has the option of leaving images
    partitioned among processes.  Each process containing part of a tile's
    image will return the entire buffer from \CFunc{icetDrawFrame} or
    \CFunc{icetGLDrawFrame} in an \CType{IceTImage} object.  However, only
    certain pixels will be valid.  The state variables
    \CEnum{ICET\_VALID\_PIXELS\_TILE}, \CEnum{ICET\_VALID\_PIXELS\_OFFSET},
    and \CEnum{ICET\_VALID\_PIXELS\_NUM} give which tile the pixels belong
    to and what range of pixels are valid.
  \item[\CEnum{ICET\_COMPOSITE\_ONE\_BUFFER}] Turn this option on when
    performing z-buffer compositing of a color image and the only result
    you need is the color image itself (not the depth buffer).  This is
    common if you are just creating an image and are not interested in
    doing depth queries.  This option is on by default.
  \item[\CEnum{ICET\_CORRECT\_COLORED\_BACKGROUND}] Colored backgrounds are
    problematic when performing color blended compositing in that the
    background color will be additively blended from each image.  Enabling
    this flag will internally cause the color to be reset to black and then
    cause the color to be blended back into the resulting images.  This
    flag is disabled by default.
  \item[\CEnum{ICET\_FLOATING\_VIEWPORT}] If enabled, the projection will
    be shifted such that the geometry will be rendered in one shot whenever
    possible, even if the geometry straddles up to four tiles.  This flag
    is enabled by default.
  \item[\CEnum{ICET\_INTERLACE\_IMAGES}] If enabled, pixels in images
    (might be) shuffled to better load balance the compositing work.  This
    flag is enabled by default.
  \item[\CEnum{ICET\_ORDERED\_COMPOSITE}] If enabled, the image composition
    will be performed in the order specified by the last call to
    \CFunc{icetCompositeOrder}, assuming the current strategy (specified by
    a call to \CFunc{icetStrategy}) supports ordered composition.
    Generally, you want to enable ordered compositing if doing color
    blending and disable if you are doing z-buffer comparisons.  If
    enabled, you should call \CFunc{icetCompositeOrder} between each frame
    to update the image order as camera angles change.  This flag is
    disabled by default.
  \end{Description}

  In addition, if you are using the \OpenGL layer (i.e., have called
  \CFunc{icetGLInitialize}), these options, defined in \textC{IceTGL.h},
  are also available.

  \begin{Description}[xxxxxxxx]
  \item[\CEnum{ICET\_GL\_DISPLAY}] If enabled, the final, composited image
    for each tile is written back to the frame buffer before the return of
    \CFunc{icetGLDrawFrame}.  This flag is enabled by default.
  \item[\CEnum{ICET\_GL\_DISPLAY\_COLORED\_BACKGROUND}] If this and
    \CEnum{ICET\_GL\_DISPLAY} are enabled, \IceT uses \OpenGL blending to
    ensure that all background is set to the correct color.  This flag is
    disabled by default.  This option does not affect the images returned
    from \CFunc{icetGLDrawFrame}; it only affects the image in the \OpenGL
    color buffer.
  \item[\CEnum{ICET\_GL\_DISPLAY\_INFLATE}] If this and
    \CEnum{ICET\_GL\_DISPLAY} are enabled and the renderable window is
    larger than the displayed tile (as determined by the current \OpenGL
    viewport), then resample the image to fit within the renderable window
    before writing back to frame buffer.  This flag is disabled by default.
    This option does not affect the images returned from
    \CFunc{icetGLDrawFrame}; it only affects the image in the \OpenGL color
    buffer.  If this option is not enabled, then images are written at
    their natural size in the lower left corner of the window.
  \item[\CEnum{ICET\_GL\_DISPLAY\_INFLATE\_WITH\_HARDWARE}] This option
    determines how images are inflated.  When enabled (the default), images
    are inflated by creating a texture and allowing the hardware to inflate
    the image.  When disabled, images are inflated on the CPU.  This option
    has no effect unless both \CEnum{ICET\_GL\_DISPLAY} and
    \CEnum{ICET\_GL\_DISPLAY\_INFLATE} are also enabled.
  \end{Description}


  \mansection{Errors}

  \begin{Description}[ICET\_INVALID\_OPERATION]
  \item[\CErrorEnum{ICET\_INVALID\_VALUE}] If \CArg{pname} is not a feature
    to be enabled or disabled.
  \end{Description}


  \mansection{Warnings}

  None.


  \mansection{Bugs}

  The check for a valid \CArg{pname} is not thorough, and thus the
  \CEnum{ICET\_INVALID\_VALUE} error may not always be raised.


  \mansection{Copyright}
  Copyright \copyright 2003 Sandia Corporation

  @copyright@

  \mansection{See Also}

  \CFuncSeeAlso{icetIsEnabled}

  \index{icetDisable|)textbf}

\end{Name}


% These are emacs settings that go at the end of the file.
% Local Variables:
% writestamp-format: "%B %e, %Y"
% writestamp-prefix: "^\\\\setDate{"
% writestamp-suffix: "}$"
% End:
