/**************************************************************************\
 *
 *  This file is part of the Coin 3D visualization library.
 *  Copyright (C) by Kongsberg Oil & Gas Technologies.
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU General Public License
 *  ("GPL") version 2 as published by the Free Software Foundation.
 *  See the file LICENSE.GPL at the root directory of this source
 *  distribution for additional information about the GNU GPL.
 *
 *  For using Coin with software that can not be combined with the GNU
 *  GPL, and for taking advantage of the additional benefits of our
 *  support services, please contact Kongsberg Oil & Gas Technologies
 *  about acquiring a Coin Professional Edition License.
 *
 *  See http://www.coin3d.org/ for more information.
 *
 *  Kongsberg Oil & Gas Technologies, Bygdoy Alle 5, 0257 Oslo, NORWAY.
 *  http://www.sim.no/  sales@sim.no  coin-support@coin3d.org
 *
\**************************************************************************/

#include "environment.dox.h"

/*!
  \typedef EnvironmentVariable

  <i> This is a fake type to peg documentation for environment variables
  that Coin uses on. </i>

  Environment variables are variables you set on your system, which
  are read in by the Coin-based application at run-time.  These
  environment variables are irrelevant at compile time when Coin is
  built.

  \ingroup envvars
*/

// referencing block that goes to the envvars module
/*!
  \page envvars_profiler Scene Graph Profiler

  The scene graph profiler subsystem uses the following environment
  variables:
  - \ref COIN_PROFILER
  - \ref COIN_PROFILER_OVERLAY

  A lot of other environment variables will also affect the profiling
  and listing them all would be tedious.  Most useful is perhaps the
  \ref IV_SEPARATOR_MAX_CACHES variable for disabling caching, and
  those that disable features like vertex arrays and frame buffer
  objects, but using thise will of course cause you to profile special
  cases that may not be as important as you might think.

  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_PROFILER

  This variable should be a set of profiler settings keywords,
  separated by ":" characters.

  The keywords are:
  - \c on
  - \c off
  - \c syncgl

  The \c on keyword just enables the profiling element so profiling
  data is recorded.

  The \c off keyword just disables the profiling subsystem.  There is
  really no need for specifying this as it is off by default, but can
  for instance be used to override settings already in the environment
  at launch-time.

  The \c syncgl keyword will make GL rendering flush the GL pipeline
  between each node, so that the profiling data will better reflect
  which nodes actually cause work for Open GL.  Note however that the
  GL rendering performance drops like a rock when enabling this.
  The \c syncgl keyword implies the \c on keyword.

  \b Old \b Usage: When this was first implemented, just setting this
  environment variable to \c "1" or any positive integer value turned
  on the live scene graph profiling feature in Coin.  This usage is
  still supported, but as the number of options grew, it was obvious
  that we needed a new scheme rather than one variable for each
  feature.  The positive integer approach can not be combined with
  using keywords, and setting the value to \c "1" is the same thing as
  setting it to \c "on".

  \ingroup envvars profiler
*/

/*!
  \var EnvironmentVariable COIN_PROFILER_OVERLAY

  This variable enables some default profiler statistics output
  techniques.  It should be a set of profiler overlay settings
  keywords, separated by ":" characters.

  - \c autoredraw=&lt;float&gt;
  - \c stdout
  - \c stderr
  - \c clear
  - \c header
  - \c lines=&lt;int&gt;
  - \c action=&lt;actionclass&gt;
  - \c category=&lt;nodes|types|names&gt;

  The \c autoredraw=&lt;float&gt; option sets up the GL display to
  automatically redraw the display after a delay of \c &lt;float&gt;
  seconds.  Example: \c redraw=0.2 gives you somewhere below 5 redraws
  a second, depending on how fast each frame is drawn.

  The \c stdout keyword causes the profiling data to be sent to stdout
  instead of being overlayed on the GL view.

  The \c stderr keyword causes the profiling data to be sent to stderr
  instead of being overlayed on the GL view.

  The \c clear keyword works with \c stdout and \c stderr, and makes
  Coin attempt to clear the console between each time it dumps
  profiling data.  It just uses the ANSI console escape sequence for
  clearing, which may not work on all types of terminals.

  The \c header keyword makes the profiling output be preceded by a
  header line that explains what each column means.  It only works
  with \c stdout and \c stderr.

  The \c lines=&lt;int&gt; option lets you select the number of lines
  to output.  The default is 20.  This option only works with \c
  stdout and \c stderr.

  The \c action=&lt;actionclass&gt; option lets you select which
  action is to be profiled.  The default is of course the
  SoGLRenderAction.  This only works with \c stdout and \c stderr.

  The \c category=&lt;keyword&gt; option lets you specify which view
  you should have on the profiling data.  A \c nodes view will give
  you one entry in the list for each node.  A \c types view will
  summarize over each type and present one entry per node type.  A \a
  names view will group nodes that belong under the same named node
  together and presents that summary as one entry.

  \b Old \b Usage: Setting this environment variable to \c "1" (or any
  positive integer) turns on the live scene graph (primarily)
  profiling overlay feature in Coin, the way it was in the beginning
  of implementing this functionality.  This still works but just gives
  you one default view.  It can not be combined with using keywords.

  \ingroup envvars profiler
*/


/*!
  \var EnvironmentVariable COIN_PROFILER_OVERLAY

/*
  FIXME: document all variables. pederb, 2004-03-22

  UPDATE: a good way to do this, imho, would be to set them up as
  SoDBP::EnvVars members, as is done for a few already, and document
  them one-by-one through Doxygen.  20071106 mortene.

  \page environment_variables Environment variables

  Debug related:

  COIN_DEBUG_GLU_INFO
  COIN_DEBUG_FONTSUPPORT
  COIN_DEBUG_3DS
  COIN_DEBUG_AUDIO
  COIN_DEBUG_BREAK
  COIN_DEBUG_CACHING
  COIN_DEBUG_DL
  COIN_DEBUG_IMPORT
  COIN_DEBUG_LISTMODULES
  COIN_DEBUG_SOINPUT_FINDFILE
  COIN_DEBUG_SOOFFSCREENRENDERER
  COIN_DEBUG_WRITEREFS
  COIN_RANDOMIZE_RENDER_CACHING

  Font/Text rendering related:

  COIN_FREETYPE2_LIBNAME
  COIN_FORCE_FREETYPE_OFF
  COIN_FORCE_WIN32FONTS_OFF
  COIN_FONT_PATH

  COIN_GLU_LIBNAME
  COIN_AGLGLUE_NO_PBUFFERS
  COIN_DEBUG_DL
  COIN_SIMAGE_LIBNAME
  COIN_GLXGLUE_NO_GLX13_PBUFFERS
  COIN_GLXGLUE_NO_PBUFFERS
  COIN_ZLIB_LIBNAME
  COIN_BZIP2_LIBNAME
  COIN_WGLGLUE_NO_PBUFFERS
  COIN_DONT_MANGLE_OUTPUT_NAMES
  COIN_EXTSELECTION_SAVE_OFFSCREENBUFFER
  COIN_FORCE_TILED_OFFSCREENRENDERING
  COIN_GLERROR_DEBUGGING
  COIN_IDA_DEBUG
  COIN_OFFSCREENRENDERER_MAX_TILESIZE
  COIN_OFFSCREENRENDERER_TILEHEIGHT
  COIN_OFFSCREENRENDERER_TILEWIDTH
  COIN_OLDSTYLE_FORMATTING
  COIN_SEPARATE_DIFFUSE_TRANSPARENCY_OVERRIDE
  COIN_SOINPUT_SEARCH_GLOBAL_DICT
  COIN_SOOFFSCREENRENDERER_TILEPREFIX
  COIN_SORTED_LAYERS_USE_NVIDIA_RC

  Sound related:

  COIN_SOUND_BUFFER_LENGTH
  COIN_SOUND_DISABLE
  COIN_SOUND_DRIVER_NAME
  COIN_SOUND_ENABLE
  COIN_SOUND_INTRO_PAUSE
  COIN_SOUND_NUM_BUFFERS
  COIN_SOUND_THREAD_SLEEP_TIME
  COIN_OPENAL_LIBNAME

  Texture control related:

  COIN_TEX2_LINEAR_LIMIT
  COIN_TEX2_LINEAR_MIPMAP_LIMIT
  COIN_TEX2_MIPMAP_LIMIT
  COIN_TEX2_SCALEUP_LIMIT
  COIN_TEX2_USE_GLTEXSUBIMAGE
  COIN_MAXIMUM_TEXTURE2_SIZE
  COIN_MAXIMUM_TEXTURE3_SIZE

  Rendering (OpenGL) related:

  COIN_USE_GL_VERTEX_ARRAYS
  COIN_NORMALIZATION_CUBEMAP_SIZE
  OIV_NUM_SORTED_LAYERS_PASSES
  COIN_MAX_VBO_MEMORY
  COIN_NUM_SORTED_LAYERS_PASSES
  COIN_QUADMESH_PRECISE_LIGHTING
  COIN_ENABLE_CONFORMANT_GL_CLAMP
  COIN_GLBBOX

  IV_SEPARATOR_MAX_CACHES
  COIN_AUTOCACHE_LOCAL_MAX
  COIN_AUTOCACHE_LOCAL_MIN
  COIN_AUTOCACHE_REMOTE_MAX
  COIN_AUTOCACHE_REMOTE_MIN
  COIN_AUTO_CACHING
  COIN_ENABLE_VBO

  COIN_SOOFFSCREENRENDERER_ALLOW_RESOURCEHOG

  SO_DRAGGER_DIR
  SO_SHADER_DIR
  COINDIR
*/

/*
  Remember to add a reference to the environment variable here, to
  actually get the documentation.
*/

EnvironmentVariable COINDIR;
EnvironmentVariable COIN_AGLGLUE_NO_PBUFFERS;
EnvironmentVariable COIN_AUTOCACHE_LOCAL_MAX;
EnvironmentVariable COIN_AUTOCACHE_LOCAL_MIN;
EnvironmentVariable COIN_AUTOCACHE_REMOTE_MAX;
EnvironmentVariable COIN_AUTOCACHE_REMOTE_MIN;
EnvironmentVariable COIN_AUTO_CACHING;
EnvironmentVariable COIN_BZIP2_LIBNAME;
EnvironmentVariable COIN_DEBUG_3DS;
EnvironmentVariable COIN_DEBUG_AUDIO;
EnvironmentVariable COIN_DEBUG_BREAK;
EnvironmentVariable COIN_DEBUG_CACHING;
EnvironmentVariable COIN_DEBUG_DL;
EnvironmentVariable COIN_DEBUG_DL;
EnvironmentVariable COIN_DEBUG_FONTSUPPORT;
EnvironmentVariable COIN_DEBUG_GLU_INFO;
EnvironmentVariable COIN_DEBUG_GLU_VERSION;
EnvironmentVariable COIN_DEBUG_IMPORT;
EnvironmentVariable COIN_DEBUG_LISTMODULES;
EnvironmentVariable COIN_DEBUG_SOINPUT_FINDFILE;
EnvironmentVariable COIN_DEBUG_SOOFFSCREENRENDERER;
EnvironmentVariable COIN_DEBUG_WRITEREFS;
EnvironmentVariable COIN_DONT_MANGLE_OUTPUT_NAMES;
EnvironmentVariable COIN_ENABLE_CONFORMANT_GL_CLAMP;
EnvironmentVariable COIN_ENABLE_VBO;
EnvironmentVariable COIN_EXTSELECTION_SAVE_OFFSCREENBUFFER;
EnvironmentVariable COIN_FONT_PATH;
EnvironmentVariable COIN_FORCE_FREETYPE_OFF;
EnvironmentVariable COIN_FORCE_TILED_OFFSCREENRENDERING;
EnvironmentVariable COIN_FORCE_WIN32FONTS_OFF;
EnvironmentVariable COIN_FREETYPE2_LIBNAME;
EnvironmentVariable COIN_GLBBOX;
EnvironmentVariable COIN_GLERROR_DEBUGGING;
EnvironmentVariable COIN_GLU_LIBNAME;
EnvironmentVariable COIN_GLXGLUE_NO_GLX13_PBUFFERS;
EnvironmentVariable COIN_GLXGLUE_NO_PBUFFERS;
EnvironmentVariable COIN_IDA_DEBUG;
EnvironmentVariable COIN_MAXIMUM_TEXTURE2_SIZE;
EnvironmentVariable COIN_MAXIMUM_TEXTURE3_SIZE;
EnvironmentVariable COIN_MAX_VBO_MEMORY;
EnvironmentVariable COIN_NORMALIZATION_CUBEMAP_SIZE;
EnvironmentVariable COIN_NUM_SORTED_LAYERS_PASSES;
EnvironmentVariable COIN_OFFSCREENRENDERER_MAX_TILESIZE;
EnvironmentVariable COIN_OFFSCREENRENDERER_TILEHEIGHT;
EnvironmentVariable COIN_OFFSCREENRENDERER_TILEWIDTH;
EnvironmentVariable COIN_OLDSTYLE_FORMATTING;
EnvironmentVariable COIN_OPENAL_LIBNAME;
EnvironmentVariable COIN_PROFILER;
EnvironmentVariable COIN_PROFILER_OVERLAY;
EnvironmentVariable COIN_QUADMESH_PRECISE_LIGHTING;
EnvironmentVariable COIN_RANDOMIZE_RENDER_CACHING;
EnvironmentVariable COIN_SEPARATE_DIFFUSE_TRANSPARENCY_OVERRIDE;
EnvironmentVariable COIN_SIMAGE_LIBNAME;
EnvironmentVariable COIN_SOINPUT_SEARCH_GLOBAL_DICT;
EnvironmentVariable COIN_SOOFFSCREENRENDERER_ALLOW_RESOURCEHOG;
EnvironmentVariable COIN_SOOFFSCREENRENDERER_TILEPREFIX;
EnvironmentVariable COIN_SORTED_LAYERS_USE_NVIDIA_RC;
EnvironmentVariable COIN_SOUND_BUFFER_LENGTH;
EnvironmentVariable COIN_SOUND_DISABLE;
EnvironmentVariable COIN_SOUND_DRIVER_NAME;
EnvironmentVariable COIN_SOUND_ENABLE;
EnvironmentVariable COIN_SOUND_INTRO_PAUSE;
EnvironmentVariable COIN_SOUND_NUM_BUFFERS;
EnvironmentVariable COIN_SOUND_THREAD_SLEEP_TIME;
EnvironmentVariable COIN_TEX2_LINEAR_LIMIT;
EnvironmentVariable COIN_TEX2_LINEAR_MIPMAP_LIMIT;
EnvironmentVariable COIN_TEX2_MIPMAP_LIMIT;
EnvironmentVariable COIN_TEX2_SCALEUP_LIMIT;
EnvironmentVariable COIN_TEX2_USE_GLTEXSUBIMAGE;
EnvironmentVariable COIN_USE_GL_VERTEX_ARRAYS;
EnvironmentVariable COIN_VBO;
EnvironmentVariable COIN_VBO_MAX_LIMIT;
EnvironmentVariable COIN_VBO_MIN_LIMIT;
EnvironmentVariable COIN_WGLGLUE_NO_PBUFFERS;
EnvironmentVariable COIN_ZLIB_LIBNAME;
EnvironmentVariable IV_SEPARATOR_MAX_CACHES;
EnvironmentVariable OIV_NUM_SORTED_LAYERS_PASSES;
EnvironmentVariable SO_DRAGGER_DIR;
EnvironmentVariable SO_SHADER_DIR;

/*!
  \var EnvironmentVariable COIN_DEBUG_GLU_INFO

  \todo Write debug information about the linked GLU library to console, at first use.

  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_DEBUG_GLU_VERSION

  \todo Force the GLU_VERSION string to be the version specified by
  COIN_DEBUG_GLU_VERSION

  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_DEBUG_FONTSUPPORT

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_DEBUG_3DS

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_DEBUG_AUDIO

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_DEBUG_BREAK

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_DEBUG_CACHING

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_DEBUG_DL

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_DEBUG_IMPORT

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_DEBUG_LISTMODULES

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_DEBUG_SOINPUT_FINDFILE

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_DEBUG_SOOFFSCREENRENDERER

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_DEBUG_WRITEREFS

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_RANDOMIZE_RENDER_CACHING

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_FREETYPE2_LIBNAME

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_FORCE_FREETYPE_OFF

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_FORCE_WIN32FONTS_OFF

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_FONT_PATH

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_GLBBOX
 
  If the environment variable COIN_GLBBOX is set to 1, rendering action
  traversals will apply a bbox action before rendering.  This will make
  sure bounding box caches are updated (needed for view frustum culling).
  The default Quarter/SoQt/SoWin/SoXt viewers will handle this at their
  end (which is the proper way to do it), so we don't do this by default.
  
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_GLU_LIBNAME

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_AGLGLUE_NO_PBUFFERS

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_DEBUG_DL

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_SIMAGE_LIBNAME

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_GLXGLUE_NO_GLX13_PBUFFERS

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_GLXGLUE_NO_PBUFFERS

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_ZLIB_LIBNAME

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_BZIP2_LIBNAME

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_WGLGLUE_NO_PBUFFERS

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_DONT_MANGLE_OUTPUT_NAMES

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_EXTSELECTION_SAVE_OFFSCREENBUFFER

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_FORCE_TILED_OFFSCREENRENDERING

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_GLERROR_DEBUGGING

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_IDA_DEBUG

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_OFFSCREENRENDERER_MAX_TILESIZE

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_OFFSCREENRENDERER_TILEHEIGHT

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_OFFSCREENRENDERER_TILEWIDTH

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_OLDSTYLE_FORMATTING

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_SEPARATE_DIFFUSE_TRANSPARENCY_OVERRIDE

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_SOINPUT_SEARCH_GLOBAL_DICT

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_SOOFFSCREENRENDERER_TILEPREFIX

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_SORTED_LAYERS_USE_NVIDIA_RC

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_SOUND_BUFFER_LENGTH

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_SOUND_DISABLE

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_SOUND_DRIVER_NAME

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_SOUND_ENABLE

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_SOUND_INTRO_PAUSE

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_SOUND_NUM_BUFFERS

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_SOUND_THREAD_SLEEP_TIME

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_OPENAL_LIBNAME

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_TEX2_LINEAR_LIMIT

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_TEX2_LINEAR_MIPMAP_LIMIT

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_TEX2_MIPMAP_LIMIT

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_TEX2_SCALEUP_LIMIT

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_TEX2_USE_GLTEXSUBIMAGE

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_MAXIMUM_TEXTURE2_SIZE

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_MAXIMUM_TEXTURE3_SIZE

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_USE_GL_VERTEX_ARRAYS

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_NORMALIZATION_CUBEMAP_SIZE

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable OIV_NUM_SORTED_LAYERS_PASSES

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_MAX_VBO_MEMORY

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_NUM_SORTED_LAYERS_PASSES

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_QUADMESH_PRECISE_LIGHTING

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_ENABLE_CONFORMANT_GL_CLAMP

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable IV_SEPARATOR_MAX_CACHES

  Can be used to tune the number of display list caches stored in
  each SoSeparator. The default value is 2.

  Setting this value to 0 will disable display list caching, and this is often
  useful if you experience weird rendering bugs which are hard to track down.

  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_AUTOCACHE_LOCAL_MAX

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_AUTOCACHE_LOCAL_MIN

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_AUTOCACHE_REMOTE_MAX

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_AUTOCACHE_REMOTE_MIN

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_AUTO_CACHING

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_ENABLE_VBO

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_VBO

  Set COIN_VBO=0 to disable VBO rendering in Coin. This is useful if
  you suspect bugs in either Coin's VBO code or in the OpenGL driver
  VBO handling.

  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_VBO_MAX_LIMIT

  Can be used to set the maximum number of items (coordinates,
  normals, texcoords or colors) allowed when creating a vertex buffer
  object. On most drivers it's actually slower to render large arrays
  with VBOs than with normal vertex array rendering.

  The default value is 256000, and when the number of items exceeds
  this Coin will fall back to normal vertex array or immediate mode
  rendering.

  \sa COIN_VBO_MIN_LIMIT

  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_VBO_MIN_LIMIT

  Can be used to set the minimum number of items (coordinates,
  normals, texcoords or colors) allowed when creating a vertex buffer
  object. It's a bit of overhead setting up the VBOs and the VBO
  rendering, so we avoid doing this for very small arrays. The default
  value is 20.

  \sa COIN_VBO_MAX_LIMIT
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COIN_SOOFFSCREENRENDERER_ALLOW_RESOURCEHOG

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable SO_DRAGGER_DIR

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable SO_SHADER_DIR

  \todo Write documentation for this
  \ingroup envvars
*/

/*!
  \var EnvironmentVariable COINDIR

  \todo Write documentation for this
  \ingroup envvars
*/


// *************************************************************************

