---
name: "coin_envvars"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/coin_envvars"
---

# coin\_envvars(3)

Miscellaneous Environment Variables - Various aspects of the Coin runtime behaviour can be controlled through setting different environment variables to some value.

## NAME

coin\_envvars - Miscellaneous Environment Variables

 \- Various aspects of the Coin runtime behaviour can be controlled through setting different environment variables to some value.

## SYNOPSIS

### Variables

typedef **EnvironmentVariable**\
 **EnvironmentVariable** **COIN\_PROFILER**\
 **EnvironmentVariable** **COIN\_PROFILER\_OVERLAY**\
 **EnvironmentVariable** **COIN\_DEBUG\_GLU\_INFO**\
 **EnvironmentVariable** **COIN\_DEBUG\_GLU\_VERSION**\
 **EnvironmentVariable** **COIN\_DEBUG\_FONTSUPPORT**\
 **EnvironmentVariable** **COIN\_DEBUG\_3DS**\
 **EnvironmentVariable** **COIN\_DEBUG\_AUDIO**\
 **EnvironmentVariable** **COIN\_DEBUG\_BREAK**\
 **EnvironmentVariable** **COIN\_DEBUG\_CACHING**\
 **EnvironmentVariable** **COIN\_DEBUG\_DL**\
 **EnvironmentVariable** **COIN\_DEBUG\_IMPORT**\
 **EnvironmentVariable** **COIN\_DEBUG\_LISTMODULES**\
 **EnvironmentVariable** **COIN\_DEBUG\_SOINPUT\_FINDFILE**\
 **EnvironmentVariable** **COIN\_DEBUG\_SOOFFSCREENRENDERER**\
 **EnvironmentVariable** **COIN\_DEBUG\_WRITEREFS**\
 **EnvironmentVariable** **COIN\_RANDOMIZE\_RENDER\_CACHING**\
 **EnvironmentVariable** **COIN\_FREETYPE2\_LIBNAME**\
 **EnvironmentVariable** **COIN\_FORCE\_FONTCONFIG\_OFF**\
 **EnvironmentVariable** **COIN\_FORCE\_FREETYPE\_OFF**\
 **EnvironmentVariable** **COIN\_FORCE\_WIN32FONTS\_OFF**\
 **EnvironmentVariable** **COIN\_FONT\_PATH**\
 **EnvironmentVariable** **COIN\_DISABLE\_UTF8**\
 **EnvironmentVariable** **COIN\_GLBBOX**\
 **EnvironmentVariable** **COIN\_GLU\_LIBNAME**\
 **EnvironmentVariable** **COIN\_AGLGLUE\_NO\_PBUFFERS**\
 **EnvironmentVariable** **COIN\_CGLGLUE\_NO\_PBUFFERS**\
 **EnvironmentVariable** **COIN\_GLXGLUE\_NO\_GLX13\_PBUFFERS**\
 **EnvironmentVariable** **COIN\_GLXGLUE\_NO\_PBUFFERS**\
 **EnvironmentVariable** **COIN\_GLX\_PIXMAP\_DIRECT\_RENDERING**\
 **EnvironmentVariable** **COIN\_WGLGLUE\_NO\_PBUFFERS**\
 **EnvironmentVariable** **COIN\_SIMAGE\_LIBNAME**\
 **EnvironmentVariable** **COIN\_ZLIB\_LIBNAME**\
 **EnvironmentVariable** **COIN\_BZIP2\_LIBNAME**\
 **EnvironmentVariable** **COIN\_DONT\_MANGLE\_OUTPUT\_NAMES**\
 **EnvironmentVariable** **COIN\_EXTSELECTION\_SAVE\_OFFSCREENBUFFER**\
 **EnvironmentVariable** **COIN\_FORCE\_TILED\_OFFSCREENRENDERING**\
 **EnvironmentVariable** **COIN\_GLERROR\_DEBUGGING**\
 **EnvironmentVariable** **COIN\_OFFSCREENRENDERER\_MAX\_TILESIZE**\
 **EnvironmentVariable** **COIN\_OFFSCREENRENDERER\_TILEHEIGHT**\
 **EnvironmentVariable** **COIN\_OFFSCREENRENDERER\_TILEWIDTH**\
 **EnvironmentVariable** **COIN\_OLDSTYLE\_FORMATTING**\
 **EnvironmentVariable** **COIN\_SEPARATE\_DIFFUSE\_TRANSPARENCY\_OVERRIDE**\
 **EnvironmentVariable** **COIN\_SOINPUT\_SEARCH\_GLOBAL\_DICT**\
 **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\_OPENAL\_LIBNAME**\
 **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\_TEX2\_ANISOTROPIC\_LIMIT**\
 **EnvironmentVariable** **COIN\_TEX2\_USE\_SGIS\_GENERATE\_MIPMAP**\
 **EnvironmentVariable** **COIN\_MAXIMUM\_TEXTURE2\_SIZE**\
 **EnvironmentVariable** **COIN\_MAXIMUM\_TEXTURE3\_SIZE**\
 **EnvironmentVariable** **COIN\_NORMALIZATION\_CUBEMAP\_SIZE**\
 **EnvironmentVariable** **OIV\_NUM\_SORTED\_LAYERS\_PASSES**\
 **EnvironmentVariable** **COIN\_NUM\_SORTED\_LAYERS\_PASSES**\
 **EnvironmentVariable** **COIN\_QUADMESH\_PRECISE\_LIGHTING**\
 **EnvironmentVariable** **COIN\_ENABLE\_CONFORMANT\_GL\_CLAMP**\
 **EnvironmentVariable** **IV\_SEPARATOR\_MAX\_CACHES**\
 **EnvironmentVariable** **COIN\_AUTOCACHE\_LOCAL\_MAX**\
 **EnvironmentVariable** **COIN\_AUTOCACHE\_LOCAL\_MIN**\
 **EnvironmentVariable** **COIN\_AUTOCACHE\_REMOTE\_MAX**\
 **EnvironmentVariable** **COIN\_AUTOCACHE\_REMOTE\_MIN**\
 **EnvironmentVariable** **COIN\_AUTOCACHE\_VBO\_LIMIT**\
 **EnvironmentVariable** **COIN\_AUTO\_CACHING**\
 **EnvironmentVariable** **COIN\_ENABLE\_VBO**\
 **EnvironmentVariable** **COIN\_VBO**\
 **EnvironmentVariable** **COIN\_VBO\_MAX\_LIMIT**\
 **EnvironmentVariable** **COIN\_VBO\_MIN\_LIMIT**\
 **EnvironmentVariable** **COIN\_SOOFFSCREENRENDERER\_ALLOW\_RESOURCEHOG**\
 **EnvironmentVariable** **SO\_DRAGGER\_DIR**\
 **EnvironmentVariable** **SO\_SHADER\_DIR**\
 **EnvironmentVariable** **COINDIR**\
 **EnvironmentVariable** **COIN\_ALLOW\_SPIDERMONKEY**\
 **EnvironmentVariable** **COIN\_CALCULATE\_NURBS\_NORMALS**\
 **EnvironmentVariable** **COIN\_CG\_LIBNAME**\
 **EnvironmentVariable** **COIN\_DEBUG\_ASSERT\_SOBASE\_SETNAME**\
 **EnvironmentVariable** **COIN\_DEBUG\_BINARY\_INPUT**\
 **EnvironmentVariable** **COIN\_DEBUG\_CLEANUP**\
 **EnvironmentVariable** **COIN\_DEBUG\_EXTRA**\
 **EnvironmentVariable** **COIN\_DEBUG\_FLATTEN\_NODEKITS\_ON\_WRITE**\
 **EnvironmentVariable** **COIN\_DEBUG\_GLGLUE**\
 **EnvironmentVariable** **COIN\_DEBUG\_GLRENDER\_TRAVERSAL**\
 **EnvironmentVariable** **COIN\_DEBUG\_GLUNURBSSURFACE**\
 **EnvironmentVariable** **COIN\_DEBUG\_INTERSECTIONDETECTIONACTION**\
 **EnvironmentVariable** **COIN\_DEBUG\_MUTEXLOCK\_MAXTIME**\
 **EnvironmentVariable** **COIN\_DEBUG\_MUTEXLOCK\_TIMING**\
 const char \* **COIN\_DEBUG\_MUTEX\_COUNT** = 'COIN\_DEBUG\_MUTEX\_COUNT'\
 **EnvironmentVariable** **COIN\_DEBUG\_NORMALIZE**\
 **EnvironmentVariable** **COIN\_DEBUG\_NPRINTF**\
 **EnvironmentVariable** **COIN\_DEBUG\_NURBS\_COMPLEXITY**\
 **EnvironmentVariable** **COIN\_DEBUG\_ROOT\_NOTIFICATIONS**\
 **EnvironmentVariable** **COIN\_DEBUG\_SIMAGE**\
 **EnvironmentVariable** **COIN\_DEBUG\_SOEXTSELECTION**\
 **EnvironmentVariable** **COIN\_DEBUG\_SOFILE\_READ**\
 **EnvironmentVariable** **COIN\_DEBUG\_SOOFFSCREENRENDERER\_TILEPREFIX**\
 **EnvironmentVariable** **COIN\_DEBUG\_SPIDERMONKEY\_BINDING**\
 **EnvironmentVariable** **COIN\_DEBUG\_STRING\_GROW**\
 **EnvironmentVariable** **COIN\_DEBUG\_TRACK\_SOBASE\_INSTANCES**\
 **EnvironmentVariable** **COIN\_DEBUG\_VBO**\
 **EnvironmentVariable** **COIN\_DEBUG\_VRMLSCRIPT**\
 **EnvironmentVariable** **COIN\_FONTCONFIG\_LIBNAME**\
 **EnvironmentVariable** **COIN\_DONT\_INFORM\_INDIRECT\_RENDERING**\
 **EnvironmentVariable** **COIN\_DONT\_USE\_FBO**\
 **EnvironmentVariable** **COIN\_FORCE\_AGL**\
 **EnvironmentVariable** **COIN\_FORCE\_GL1\_0\_ONLY**\
 **EnvironmentVariable** **COIN\_FULL\_INDIRECT\_RENDERING**\
 **EnvironmentVariable** **COIN\_GLGLUE\_DISABLE\_NON\_POWER\_OF\_TWO\_TEXTURES**\
 **EnvironmentVariable** **COIN\_GLGLUE\_DISABLE\_PALETTED\_TEXTURE**\
 **EnvironmentVariable** **COIN\_GLGLUE\_DISABLE\_VBO\_IN\_DISPLAYLIST**\
 **EnvironmentVariable** **COIN\_GLGLUE\_NO\_ELSA\_WARNING**\
 **EnvironmentVariable** **COIN\_GLGLUE\_NO\_G400\_WARNING**\
 **EnvironmentVariable** **COIN\_GLGLUE\_NO\_RADEON\_WARNING**\
 **EnvironmentVariable** **COIN\_GLGLUE\_NO\_SUN\_EXPERT3D\_WARNING**\
 **EnvironmentVariable** **COIN\_GLGLUE\_NO\_TRIDENT\_WARNING**\
 **EnvironmentVariable** **COIN\_GLGLUE\_SILENCE\_DRIVER\_WARNINGS**\
 **EnvironmentVariable** **COIN\_GLU\_SILENCE\_TESS\_COMBINE\_WARNING**\
 **EnvironmentVariable** **COIN\_GL\_DISABLE\_VBO**\
 **EnvironmentVariable** **COIN\_GL\_NO\_CURRENT\_CONTEXT\_CHECK**\
 **EnvironmentVariable** **COIN\_HANDLE\_STACK\_OVERFLOW**\
 **EnvironmentVariable** **COIN\_NESTED\_CACHING**\
 **EnvironmentVariable** **COIN\_NOT\_STRICT\_VRML97**\
 **EnvironmentVariable** **COIN\_NO\_NVIDIA\_COLOR\_PER\_FACE\_BUG\_WORKAROUND**\
 **EnvironmentVariable** **COIN\_NO\_SOTYPE\_DYNLOAD**\
 **EnvironmentVariable** **COIN\_OFFSCREEN\_STENCIL\_BITS**\
 **EnvironmentVariable** **COIN\_OLD\_NURBS\_COMPLEXITY**\
 **EnvironmentVariable** **COIN\_PREFER\_GLPOLYGONOFFSET\_EXT**\
 **EnvironmentVariable** **COIN\_PREFER\_GLU\_TESSELLATOR**\
 **EnvironmentVariable** **COIN\_REDUCE\_LINEAR\_NURBS\_STEPS**\
 **EnvironmentVariable** **COIN\_SMART\_CACHING**\
 **EnvironmentVariable** **COIN\_SPIDERMONKEY\_LIBNAME**\
 **EnvironmentVariable** **COIN\_VERTEX\_ARRAYS**\
 **EnvironmentVariable** **COIN\_VIEWUP**\
 **EnvironmentVariable** **WINDIR**\

## Detailed Description

Various aspects of the Coin runtime behaviour can be controlled through setting different environment variables to some value.

Most of these variables are there for debugging and problem-workaround purposes, but a few are for telling Coin where to locate external resource files.

Here we will set up a list of some of the environment variables Coin will check for and can alter behavior because of. Scene Graph Profiler

The scene graph profiler subsystem uses the following environment variables:

- •

  **COIN\_PROFILER**

- •

  **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 **IV\_SEPARATOR\_MAX\_CACHES** variable for disabling caching, and those that disable features like vertex arrays and frame buffer objects, but using these will of course cause you to profile special cases that may not be as important as you might think.

## Variable Documentation

### typedef EnvironmentVariable

 *This is a fake type to peg documentation for environment variables that Coin uses on.*

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

### EnvironmentVariable COIN\_PROFILER

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

The keywords are:

- •

  on

- •

  off

- •

  syncgl

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

The 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 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 syncgl keyword implies the on keyword.

**Old** **Usage:** When this was first implemented, just setting this environment variable to "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 cannot be combined with using keywords, and setting the value to "1" is the same thing as setting it to "on".

### 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.

- •

  autoredraw=\<float\>

- •

  stdout

- •

  stderr

- •

  clear

- •

  header

- •

  lines=\<int\>

- •

  action=\<actionclass\>

- •

  category=\<nodes\|types\|names\>

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

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

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

The clear keyword works with stdout and 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 header keyword makes the profiling output be preceded by a header line that explains what each column means. It only works with stdout and stderr.

The lines=\<int\> option lets you select the number of lines to output. The default is 20. This option only works with stdout and stderr.

The action=\<actionclass\> option lets you select which action is to be profiled. The default is of course the **SoGLRenderAction**. This only works with stdout and stderr.

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

**Old** **Usage:** Setting this environment variable to "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 cannot be combined with using keywords.

### EnvironmentVariable COIN\_DEBUG\_GLU\_INFO

### EnvironmentVariable COIN\_DEBUG\_GLU\_VERSION

### EnvironmentVariable COIN\_DEBUG\_FONTSUPPORT

If this environment variable is set to a value \> 0, an extensive amount of debug information about loading, initializing and using fonts will be output. Issues like missing fonts and other related problems will then be reported, so we advice you to first try to use this debugging option when something does not work quite as expected.

### EnvironmentVariable COIN\_DEBUG\_3DS

By default only error messages are generated. COIN\_DEBUG\_3DS environment variable can be used to specify amount of debug messages: 0 .. only error messages (default) 1 .. warnings that usually concerns data parsed from the 3ds file 2 .. print basic 3ds file structure info 3 .. print everything

### EnvironmentVariable COIN\_DEBUG\_AUDIO

If this environment variable is set to a value \> 0, additional debug information is output when sound support is enabled.

### EnvironmentVariable COIN\_DEBUG\_BREAK

This environment variable is supported by Coin to set conditional breakpoints. It can be set to any number of functions in the form of a list separated by commas or spaces. The function names must be given as "classname::functionname" (i.e. without return type, parenthesis or argument types or names). If a debug message is posted from one of those functions, your program will be stopped (using assert(0)).

This can be useful if you want to get core-dumps or enter a debugger whenever for instance a warning or an error is posted from some function (e.g. "SbVec3f::normalize"). This feature is only enabled in the debug version of Coin.

### EnvironmentVariable COIN\_DEBUG\_CACHING

If this environment variable is set to a value \> 0, additional debug information is output about caching.

### EnvironmentVariable COIN\_DEBUG\_DL

If this environment variable is set to a value \> 0, additional debug information is output when loading dynamic libraries/shared objects.

### EnvironmentVariable COIN\_DEBUG\_IMPORT

If this environment variable is set to a value \> 0, additional debug information is output when importing files in Inventor format.

### EnvironmentVariable COIN\_DEBUG\_LISTMODULES

If this environment variable is set to a value \> 0, additional debug information is output under Win32 when loading multiple instances of the same library.

### EnvironmentVariable COIN\_DEBUG\_SOINPUT\_FINDFILE

If this environment variable is set to a value \> 0, additional debug information is output when scanning through the include directories in order and trying to find a file in any of them (**SoInput::findFile**).

### EnvironmentVariable COIN\_DEBUG\_SOOFFSCREENRENDERER

If this environment variable is set to a value \> 0, additional debug information is output when doing offscreen rendering.

### EnvironmentVariable COIN\_DEBUG\_WRITEREFS

If this environment variable is set to a value \> 0, additional debug information regarding writerefs is output.

### EnvironmentVariable COIN\_RANDOMIZE\_RENDER\_CACHING

This environment variable is used for local stability / robustness / correctness testing of the render caching. If set to a value \> 0, renderCaching will be set to "ON" with a probability of 0.5 for every **SoSeparator** instantiated.

### EnvironmentVariable COIN\_FREETYPE2\_LIBNAME

Set the system shared library name for the FreeType library.

### EnvironmentVariable COIN\_FORCE\_FONTCONFIG\_OFF

In case you intend to use your application on systems where the *Fontconfig* library is expected to be not installed you should not make use of *Fontconfig's* font pattern syntax.

If this environment variable is set to a value \> 0, the usage of *Fontconfig* can be prevented.

### EnvironmentVariable COIN\_FORCE\_FREETYPE\_OFF

On Windows the Win32 GDI library is used. *FreeType* and *Fontconfig* are dynamically loaded on demand by Coin if font support is requested by a node. When font support is loaded on Windows, FreeType will have precedence over Win32 if located. This can be prevented if this environment variable is set to a value \> 0.

### EnvironmentVariable COIN\_FORCE\_WIN32FONTS\_OFF

If this environment variable is set to a value \> 0, the usage of Win32 fonts is disabled (even on Windows platform).

### EnvironmentVariable COIN\_FONT\_PATH

It is possible to specify the TrueType font file directly if *FreeType* is used as font engine. This is done by including ".ttf" in the filename, i.e. "Comic\_Sans\_MS.ttf". Coin will then search the local path for the running program and then the path specified by the "COIN\_FONT\_PATH" environment variable. If the program is using *FreeType* on a Windows platform, the "$WINDIR/Fonts" directory will also be searched.

### EnvironmentVariable COIN\_DISABLE\_UTF8

Coin from version 4.0 onwards expects all characters related to text rendering to be UTF-8 encoded.

This variable should be a set, if you need to reinstate the old behavior of treating all characters according to the Western Latin-1 encoding.

### EnvironmentVariable COIN\_GLBBOX

If this environment variable is set to a value \> 0, rendering action traversals will apply a bounding box 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.

### EnvironmentVariable COIN\_GLU\_LIBNAME

Set the system shared library name for the GLU library.

### EnvironmentVariable COIN\_AGLGLUE\_NO\_PBUFFERS

If this environment variable is set to a value \> 0, software rendering of offscreen contexts is forced for AGL (Mac OS X).

### EnvironmentVariable COIN\_CGLGLUE\_NO\_PBUFFERS

If this environment variable is set to a value \> 0, software rendering of offscreen contexts is forced for CGL (Mac OS X).

### EnvironmentVariable COIN\_GLXGLUE\_NO\_GLX13\_PBUFFERS

If this environment variable is set to a value \> 0, GLX 1.3 pbuffers support will not be used, but it will be attempted to use pbuffers through extensions.

### EnvironmentVariable COIN\_GLXGLUE\_NO\_PBUFFERS

If this environment variable is set to a value \> 0, software rendering of offscreen contexts is forced for GLX.

### EnvironmentVariable COIN\_GLX\_PIXMAP\_DIRECT\_RENDERING

If this environment variable is used to control direct rendering in GLX for offscreen contexts. If the value is set to a value \> 0, direct rendering is forced.

### EnvironmentVariable COIN\_WGLGLUE\_NO\_PBUFFERS

If this environment variable is set to a value \> 0, software rendering of offscreen contexts is forced for WGL (Windows).

### EnvironmentVariable COIN\_SIMAGE\_LIBNAME

Set the system shared library name for the simage library.

### EnvironmentVariable COIN\_ZLIB\_LIBNAME

Set the system shared library name for the zlib library.

### EnvironmentVariable COIN\_BZIP2\_LIBNAME

Set the system shared library name for the bzip2 library.

### EnvironmentVariable COIN\_DONT\_MANGLE\_OUTPUT\_NAMES

If this environment variable is set to a value \> 0, we try to preserve the original node names as far as possible instead of appending a "+\<refid\>" suffix.

### EnvironmentVariable COIN\_EXTSELECTION\_SAVE\_OFFSCREENBUFFER

If the environment variable is set to a file name, the content of the offscreen buffer is stored to disk for investigation.

### EnvironmentVariable COIN\_FORCE\_TILED\_OFFSCREENRENDERING

If this environment variable is set to a value \> 0, offscreen rendering is forced to tiled rendering even when it can be done in a single chunk.

### EnvironmentVariable COIN\_GLERROR\_DEBUGGING

The GL error test is disabled by default for the optimized paths. If you get a GL error reporting an error in the Separator node, enable the error checking code by setting this environment variable to a value \> 0, to see exactly which node caused the error.

### EnvironmentVariable COIN\_OFFSCREENRENDERER\_MAX\_TILESIZE

Can be used to force a maximum size (width and height) of a rendering tile in the offscreen renderer.

**See also**

**COIN\_OFFSCREENRENDERER\_TILEHEIGHT**, **COIN\_OFFSCREENRENDERER\_TILEWIDTH**

### EnvironmentVariable COIN\_OFFSCREENRENDERER\_TILEHEIGHT

Can be used to override the default height of a rendering tile in the offscreen renderer. Should prove useful for debugging problems on remote sites.

**See also**

**COIN\_OFFSCREENRENDERER\_TILEWIDTH**, **COIN\_OFFSCREENRENDERER\_MAX\_TILESIZE**

### EnvironmentVariable COIN\_OFFSCREENRENDERER\_TILEWIDTH

Can be used to override the default width of a rendering tile in the offscreen renderer. Should prove useful for debugging problems on remote sites.

**See also**

**COIN\_OFFSCREENRENDERER\_TILEHEIGHT**, **COIN\_OFFSCREENRENDERER\_MAX\_TILESIZE**

### EnvironmentVariable COIN\_OLDSTYLE\_FORMATTING

Can be used to enable the output of the old ugly-bugly formatting style, in case someone, for some obscure reason, depends on it.

### EnvironmentVariable COIN\_SEPARATE\_DIFFUSE\_TRANSPARENCY\_OVERRIDE

Traditional Open Inventor uses the same override bit for both diffuse color and transparency. To get around this problem if you need to override one without the other, set this environment variable to "1". This is a Coin extension, and will not work on other Open Inventor implementations.

### EnvironmentVariable COIN\_SOINPUT\_SEARCH\_GLOBAL\_DICT

When set to "1", the global dictionary is searched after the current file dictionary when resolving USE keywords. This makes it possible to reference nodes in other files.

### EnvironmentVariable COIN\_SORTED\_LAYERS\_USE\_NVIDIA\_RC

Can be used to enable the usage of extensions for rendering SORTED\_LAYERS\_BLEND transparency which are only available on NVIDIA chipsets (GeForce3 and above, except GeForce4 MX). These extensions are GL\_NV\_texture\_shader, GL\_NV\_texture\_rectangle or GL\_EXT\_texture\_rectangle, GL\_NV\_register\_combiners, GL\_ARB\_shadow and GL\_ARB\_depth\_texture. If this environment variable is set to "1" these extensions are used, otherwise the GL\_ARB\_fragment\_program extension is used that is currently supported by the GeForceFX family and the Radeon 9500 and above.

### EnvironmentVariable COIN\_SOUND\_BUFFER\_LENGTH

### EnvironmentVariable COIN\_SOUND\_DISABLE

Sound support is considered experimental, and is therefore not enabled by default, as sound support through OpenAL caused crashes under Linux. Setting the environment variable COIN\_SOUND\_ENABLE support in **SoAudioDevice**.

**See also**

**COIN\_SOUND\_ENABLE**

### EnvironmentVariable COIN\_SOUND\_DRIVER\_NAME

The user can control which device name OpenAL uses by setting the COIN\_SOUND\_DRIVER\_NAME environment variable. On Microsoft Windows, the default driver name is "DirectSound3D", which should normally be what the user wants.

### EnvironmentVariable COIN\_SOUND\_ENABLE

Sound support is considered experimental, and is therefore not enabled by default, as sound support through OpenAL caused crashes under Linux. Setting the environment variable COIN\_SOUND\_ENABLE to a value \> 0 enables sound support in **SoAudioDevice**. If set to 0 sound support is disabled.

**See also**

**COIN\_SOUND\_DISABLE**

### EnvironmentVariable COIN\_SOUND\_INTRO\_PAUSE

### EnvironmentVariable COIN\_SOUND\_NUM\_BUFFERS

### EnvironmentVariable COIN\_SOUND\_THREAD\_SLEEP\_TIME

### EnvironmentVariable COIN\_OPENAL\_LIBNAME

Set the system shared library name for the OpenAL library.

### EnvironmentVariable COIN\_TEX2\_LINEAR\_LIMIT

Linear filtering is enabled if Complexity::textureQuality is greater or equal to this value.

Default value is 0.2

### EnvironmentVariable COIN\_TEX2\_LINEAR\_MIPMAP\_LIMIT

Linear filtering between mipmap levels is enabled if textureQuality is greater or equal to this value.

Default value is 0.8

### EnvironmentVariable COIN\_TEX2\_MIPMAP\_LIMIT

Mipmaps are created if textureQuality is greater or equal to this value.

Default value is 0.5

### EnvironmentVariable COIN\_TEX2\_SCALEUP\_LIMIT

Textures with width or height not equal to a power of two will always be scaled up if textureQuality is greater or equal to this value.

Default value is 0.7

If textureQuality is lower than this value, and the width or height is larger than 256 pixels, the texture is only scaled up if its size is relatively close to the next power of two. This could save a lot of texture memory.

### EnvironmentVariable COIN\_TEX2\_USE\_GLTEXSUBIMAGE

When set, and when the new texture data have the same attributes as the old data, glTexSubImage() will be used to copy new data into the texture instead of recreating the texture. This is not enabled by default, since it seems to trigger a bug in the Linux nVidia drivers. It just happens in some unreproduceable cases. It could be a bug in our glTexSubImage() code, of course. :)

### EnvironmentVariable COIN\_TEX2\_ANISOTROPIC\_LIMIT

Anisotropic filtering is enabled for textures when the texture quality is higher than this value.

Default value is 0.85

### EnvironmentVariable COIN\_TEX2\_USE\_SGIS\_GENERATE\_MIPMAP

When set, use the GL\_SGIS\_generate\_mipmap extension (if available) to generate mipmaps, otherwise use a fast internal routine to generate them. Use of GL\_SGIS\_generate\_mipmap is not enabled by default since we suspect some ATi drivers have problems with this extension.

### EnvironmentVariable COIN\_MAXIMUM\_TEXTURE2\_SIZE

Can be used to limit the maximum supported size (width and height) of a 2D texture in the renderer.

**See also**

**COIN\_MAXIMUM\_TEXTURE3\_SIZE**

### EnvironmentVariable COIN\_MAXIMUM\_TEXTURE3\_SIZE

Can be used to limit the maximum supported size (width, height and depth) of a 3D texture in the renderer.

**See also**

**COIN\_MAXIMUM\_TEXTURE2\_SIZE**

### EnvironmentVariable COIN\_NORMALIZATION\_CUBEMAP\_SIZE

### EnvironmentVariable OIV\_NUM\_SORTED\_LAYERS\_PASSES

To be able to render correct transparency independent of object order, one have to render in multiple passes. This technique is based on depth-peeling which strips away depth layers with each successive pass. The number of passes is therefore an indication of how deep into the scene transparent surfaces will be rendered with transparency. A higher number will lead to a lower frame rate but higher quality for scenes with a lot of transparent surfaces. The default number of passes is '4' and can be specified by either using **SoGLRenderAction::setSortedLayersNumPasses()** or by letting the environment variable COIN\_NUM\_SORTED\_LAYERS\_PASSES respectively OIV\_NUM\_SORTED\_LAYERS\_PASSES specify the number of passes.

**See also**

**COIN\_NUM\_SORTED\_LAYERS\_PASSES**

### EnvironmentVariable COIN\_NUM\_SORTED\_LAYERS\_PASSES

To be able to render correct transparency independent of object order, one have to render in multiple passes. This technique is based on depth-peeling which strips away depth layers with each successive pass. The number of passes is therefore an indication of how deep into the scene transparent surfaces will be rendered with transparency. A higher number will lead to a lower frame rate but higher quality for scenes with a lot of transparent surfaces. The default number of passes is '4' and can be specified by either using **SoGLRenderAction::setSortedLayersNumPasses()** or by letting the environment variable COIN\_NUM\_SORTED\_LAYERS\_PASSES respectively OIV\_NUM\_SORTED\_LAYERS\_PASSES specify the number of passes.

**See also**

**OIV\_NUM\_SORTED\_LAYERS\_PASSES**

### EnvironmentVariable COIN\_QUADMESH\_PRECISE\_LIGHTING

When shading **SoQuadMesh** instances the quads in the mesh are just passed on to OpenGL's GL\_QUAD primitive rendering. Under certain circumstances, this can lead to artifacts in how your meshes are shaded. This is an inherent problem with drawing quads in meshes.

By setting the this environment variable to "1", the quads will be broken up into triangles before rendered, and shading will likely look much better. Be aware that this technique causes rendering of the **SoQuadMesh** to slow down by an approximate factor of 6.

The "precise lighting" technique is currently limited to work only when **SoQuadMesh** rendering is parameterized with 3D coordinates, a material binding that is *not* per vertex, and if texture mapping is done is must be without using any of the **SoTextureCoordinateFunction** subclass nodes.

### EnvironmentVariable COIN\_ENABLE\_CONFORMANT\_GL\_CLAMP

When this environment variable is set, GL\_CLAMP will be used if SoGLImage::CLAMP is specified as the texture wrap mode. By default GL\_CLAMP\_TO\_EDGE is used, since this is usually what people want.

### 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.

### EnvironmentVariable COIN\_AUTOCACHE\_LOCAL\_MAX

Can be used to change the disable-caching limit.

**See also**

**COIN\_AUTOCACHE\_LOCAL\_MIN**, **COIN\_AUTOCACHE\_REMOTE\_MAX**

### EnvironmentVariable COIN\_AUTOCACHE\_LOCAL\_MIN

Can be used to change the enable-caching limit.

**See also**

**COIN\_AUTOCACHE\_LOCAL\_MAX**, **COIN\_AUTOCACHE\_REMOTE\_MIN**

### EnvironmentVariable COIN\_AUTOCACHE\_REMOTE\_MAX

Can be used to change the disable-caching limit for remote rendering.

**See also**

**COIN\_AUTOCACHE\_REMOTE\_MIN**, **COIN\_AUTOCACHE\_LOCAL\_MAX**

### EnvironmentVariable COIN\_AUTOCACHE\_REMOTE\_MIN

Can be used to change the enable-caching limit for remote rendering.

**See also**

**COIN\_AUTOCACHE\_REMOTE\_MAX**, **COIN\_AUTOCACHE\_LOCAL\_MIN**

### EnvironmentVariable COIN\_AUTOCACHE\_VBO\_LIMIT

Can be used to avoid creating caches when rendering large VBOs.

### EnvironmentVariable COIN\_AUTO\_CACHING

If this environment variable is set to a value of 0, auto caching will be disabled. It is enabled by default.

### EnvironmentVariable COIN\_ENABLE\_VBO

### EnvironmentVariable COIN\_VBO

If this environment variable is set to a value of 0, VBO rendering in Coin will be disabled. This is useful if you suspect bugs in either Coin's VBO code or in the OpenGL driver VBO handling.

### 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.

**See also**

**COIN\_VBO\_MIN\_LIMIT**

### 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.

**See also**

**COIN\_VBO\_MAX\_LIMIT**

### EnvironmentVariable COIN\_SOOFFSCREENRENDERER\_ALLOW\_RESOURCEHOG

Since the operation of context destruction and reconstruction has the potential to be such a costly operation (because GL caches are smashed, among other things), we try hard to avoid it by checking that if we already have a working GL context with size equal or larger to the requested size.

We also check if the current GL canvas is much larger than what is requested, as to then free up potentially large memory resources, even if we already have a large enough canvas.

By setting this environment variable to a value \> 0, you can disable this behavior and keep the much larger GL canvas.

### EnvironmentVariable SO\_DRAGGER\_DIR

The appearance of draggers can be modified by setting this environment variable to point to a directory with external replacement geometry files in Inventor-format which the geometry parts are read from. The names of the new files and the names of the nodes / sub-graphs within the replacement geometries must follow a rigid scheme.

### EnvironmentVariable SO\_SHADER\_DIR

Set this environment variable to point to a directory that contains the referenced external .arb, .cg, .glsl shader files.

### EnvironmentVariable COINDIR

### EnvironmentVariable COIN\_ALLOW\_SPIDERMONKEY

### EnvironmentVariable COIN\_CALCULATE\_NURBS\_NORMALS

If this environment variable is set to a value \> 0, normals will be calculated for the knots of a NURBS surface. This may greatly improve the rendering quality.

### EnvironmentVariable COIN\_CG\_LIBNAME

Set the system shared library name for the CG library.

### EnvironmentVariable COIN\_DEBUG\_ASSERT\_SOBASE\_SETNAME

### EnvironmentVariable COIN\_DEBUG\_BINARY\_INPUT

### EnvironmentVariable COIN\_DEBUG\_CLEANUP

### EnvironmentVariable COIN\_DEBUG\_EXTRA

### EnvironmentVariable COIN\_DEBUG\_FLATTEN\_NODEKITS\_ON\_WRITE

### EnvironmentVariable COIN\_DEBUG\_GLGLUE

If this environment variable is set to a value \> 0, make the wrapper initialization spit out lots of info about the underlying OpenGL implementation.

### EnvironmentVariable COIN\_DEBUG\_GLRENDER\_TRAVERSAL

### EnvironmentVariable COIN\_DEBUG\_GLUNURBSSURFACE

### EnvironmentVariable COIN\_DEBUG\_INTERSECTIONDETECTIONACTION

### EnvironmentVariable COIN\_DEBUG\_MUTEXLOCK\_MAXTIME

### EnvironmentVariable COIN\_DEBUG\_MUTEXLOCK\_TIMING

### const char\* COIN\_DEBUG\_MUTEX\_COUNT = 'COIN\_DEBUG\_MUTEX\_COUNT'

### EnvironmentVariable COIN\_DEBUG\_NORMALIZE

### EnvironmentVariable COIN\_DEBUG\_NPRINTF

### EnvironmentVariable COIN\_DEBUG\_NURBS\_COMPLEXITY

### EnvironmentVariable COIN\_DEBUG\_ROOT\_NOTIFICATIONS

### EnvironmentVariable COIN\_DEBUG\_SIMAGE

### EnvironmentVariable COIN\_DEBUG\_SOEXTSELECTION

### EnvironmentVariable COIN\_DEBUG\_SOFILE\_READ

### EnvironmentVariable COIN\_DEBUG\_SOOFFSCREENRENDERER\_TILEPREFIX

### EnvironmentVariable COIN\_DEBUG\_SPIDERMONKEY\_BINDING

### EnvironmentVariable COIN\_DEBUG\_STRING\_GROW

### EnvironmentVariable COIN\_DEBUG\_TRACK\_SOBASE\_INSTANCES

### EnvironmentVariable COIN\_DEBUG\_VBO

### EnvironmentVariable COIN\_DEBUG\_VRMLSCRIPT

### EnvironmentVariable COIN\_FONTCONFIG\_LIBNAME

Set the system shared library name for the Fontconfig library.

### EnvironmentVariable COIN\_DONT\_INFORM\_INDIRECT\_RENDERING

### EnvironmentVariable COIN\_DONT\_USE\_FBO

### EnvironmentVariable COIN\_FORCE\_AGL

If this environment variable is set to a value \> 0, prefer using the old AGL bindings over CGL. Note that AGL is not available on 64-bit systems. The AGL code is not compiled into Coin by default, but must be enabled at configure-time using --enable-agl in addition to using this environment variable.

### EnvironmentVariable COIN\_FORCE\_GL1\_0\_ONLY

If this environment variable is set to a value \> 0, disallow use of OpenGL1.1+ and extensions under all circumstances.

### EnvironmentVariable COIN\_FULL\_INDIRECT\_RENDERING

If this environment variable is set to a value \> 0, let Coin take advantage of OpenGL1.1+ and extensions even when doing remote/indirect rendering.

### EnvironmentVariable COIN\_GLGLUE\_DISABLE\_NON\_POWER\_OF\_TWO\_TEXTURES

of non power of two textures. ATi and Intel both have had problems with this feature, especially on old drivers. Newer drivers are known to work.

### EnvironmentVariable COIN\_GLGLUE\_DISABLE\_PALETTED\_TEXTURE

### EnvironmentVariable COIN\_GLGLUE\_DISABLE\_VBO\_IN\_DISPLAYLIST

If this environment variable is set to a value \> 0, disable the use of VBOs in display lists. Older ATI Windows/Linux drivers had a nasty bug which caused a crash in OpenGL whenever a VBO render call was added to a display list. Newer drivers are known to work.

### EnvironmentVariable COIN\_GLGLUE\_NO\_ELSA\_WARNING

If this environment variable is set to a value \> 0, do not warn about incompatible ELSA TNT2 Vanta/PCI/SSE graphics driver.

### EnvironmentVariable COIN\_GLGLUE\_NO\_G400\_WARNING

If this environment variable is set to a value \> 0, do not warn about incompatible Matrox G400 graphics driver.

### EnvironmentVariable COIN\_GLGLUE\_NO\_RADEON\_WARNING

If this environment variable is set to a value \> 0, do not warn about incompatible Radeon 7500 DDR x86/SSE2 graphics driver.

### EnvironmentVariable COIN\_GLGLUE\_NO\_SUN\_EXPERT3D\_WARNING

If this environment variable is set to a value \> 0, do not warn about incompatible Sun Expert3D, VIS graphics driver.

### EnvironmentVariable COIN\_GLGLUE\_NO\_TRIDENT\_WARNING

If this environment variable is set to a value \> 0, do not warn about incompatible Trident Blade XP/AGP graphics driver.

### EnvironmentVariable COIN\_GLGLUE\_SILENCE\_DRIVER\_WARNINGS

If this environment variable is set to a value \> 0, all known driver bugs will just be silently accepted and attempted to work around.

### EnvironmentVariable COIN\_GLU\_SILENCE\_TESS\_COMBINE\_WARNING

If this environment variable is set to a value \> 0, polygons with intersecting edges (a "bow-tie" polygon, for instance) will not be warned about (according to the GLU docs, the tessellator will be ok, it just ignores those polygons and generates no output).

### EnvironmentVariable COIN\_GL\_DISABLE\_VBO

### EnvironmentVariable COIN\_GL\_NO\_CURRENT\_CONTEXT\_CHECK

### EnvironmentVariable COIN\_HANDLE\_STACK\_OVERFLOW

### EnvironmentVariable COIN\_NESTED\_CACHING

### EnvironmentVariable COIN\_NOT\_STRICT\_VRML97

### EnvironmentVariable COIN\_NO\_NVIDIA\_COLOR\_PER\_FACE\_BUG\_WORKAROUND

### EnvironmentVariable COIN\_NO\_SOTYPE\_DYNLOAD

### EnvironmentVariable COIN\_OFFSCREEN\_STENCIL\_BITS

### EnvironmentVariable COIN\_OLD\_NURBS\_COMPLEXITY

If this environment variable is set to a value \> 0, the parametric tolerance for the sampling method of a NURBS surface or curve is set dependent on the size of their bounding box for both OBJECT\_SPACE and SCREEN\_SPACE sampling. If this environment variable is set to a value of 0, the parametric tolerance for the sampling method of a NURBS surface or curve is set dependent on their complexity value for both OBJECT\_SPACE and SCREEN\_SPACE sampling. If this environment variable is not set, the parametric tolerance for the sampling method of a NURBS surface or curve is set dependent on the size of their bounding box in SCREEN\_SPACE and dependent on their complexity value in OBJECT\_SPACE.

### EnvironmentVariable COIN\_PREFER\_GLPOLYGONOFFSET\_EXT

If this environment variable is set to a value \> 0 and both glPolygonOffset() and glPolygonOffsetEXT() are available, the latter will be used. This can be useful to work around a problematic glPolygonOffset() implementation for certain SGI platforms.

### EnvironmentVariable COIN\_PREFER\_GLU\_TESSELLATOR

If this environment variable is set to a value \> 0, the GLU tessellator is used instead of Coin's own tessellator implementation. Try this if you are facing bugs with respect to triangulation of complex facesets.

### EnvironmentVariable COIN\_REDUCE\_LINEAR\_NURBS\_STEPS

### EnvironmentVariable COIN\_SMART\_CACHING

If this environment variable is set to a value \> 0, smart caching is enabled. That means the caches are updated less frequently dependent on the number of shapes.

### EnvironmentVariable COIN\_SPIDERMONKEY\_LIBNAME

Set the system shared library name for the SpiderMonkey library.

### EnvironmentVariable COIN\_VERTEX\_ARRAYS

If this environment variable is set to a value of 0, vertex array rendering is disabled.

### EnvironmentVariable COIN\_VIEWUP

### EnvironmentVariable WINDIR

%WINDIR%/Fonts is always searched for fonts on Windows.

## Author

Generated automatically by Doxygen for Coin from the source code.
