envvars(3)

πŸ“¦ version 3.1.3, in fedora 43, fedora 44

🌸 envvars(3) 🌸

okay so bestie, welcome to envvars(3) from the Library Functions Manual πŸ’– this is the Coin page that spills the tea on every single environment variable the library peeks at. no cap, it's a long one. hydrate first. πŸ₯€


πŸŽ€ NAME πŸŽ€

envvars β€” Miscellaneous Environment Variables ✨


πŸ’… SYNOPSIS πŸ’…

πŸ¦‹ Variables πŸ¦‹

here's the full roster, verbatim, no edits, i promise:

   Variables
       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_FREETYPE_OFF
       EnvironmentVariable COIN_FORCE_WIN32FONTS_OFF
       EnvironmentVariable COIN_FONT_PATH
       EnvironmentVariable COIN_GLBBOX
       EnvironmentVariable COIN_GLU_LIBNAME
       EnvironmentVariable COIN_AGLGLUE_NO_PBUFFERS
       EnvironmentVariable COIN_SIMAGE_LIBNAME
       EnvironmentVariable COIN_GLXGLUE_NO_GLX13_PBUFFERS
       EnvironmentVariable COIN_GLXGLUE_NO_PBUFFERS
       EnvironmentVariable COIN_ZLIB_LIBNAME
       EnvironmentVariable COIN_BZIP2_LIBNAME
       EnvironmentVariable COIN_WGLGLUE_NO_PBUFFERS
       EnvironmentVariable COIN_DONT_MANGLE_OUTPUT_NAMES
       EnvironmentVariable COIN_EXTSELECTION_SAVE_OFFSCREENBUFFER
       EnvironmentVariable COIN_FORCE_TILED_OFFSCREENRENDERING
       EnvironmentVariable COIN_GLERROR_DEBUGGING
       EnvironmentVariable COIN_IDA_DEBUG
       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_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_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_MAXIMUM_TEXTURE2_SIZE
       EnvironmentVariable COIN_MAXIMUM_TEXTURE3_SIZE
       EnvironmentVariable COIN_USE_GL_VERTEX_ARRAYS
       EnvironmentVariable COIN_NORMALIZATION_CUBEMAP_SIZE
       EnvironmentVariable OIV_NUM_SORTED_LAYERS_PASSES
       EnvironmentVariable COIN_MAX_VBO_MEMORY
       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_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

πŸ’« Detailed Description πŸ’«

so basically, you can poke at a bunch of Coin's runtime behaviour just by setting environment variables to some value 🫢 most of these lil guys exist for debugging and problem-workaround purposes, but a few of them are here to tell Coin where to find its external resource files. that's it, that's the vibe.

and here we're setting up a list of some of the environment variables Coin will check for, and that can alter behavior because of them. πŸ’…


🎧 Scene Graph Profiler 🎧

the scene graph profiler subsystem uses the following environment variables:

  • COIN_PROFILER
  • COIN_PROFILER_OVERLAY

a whole 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, plus 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. so like. be mindful, bestie. 🧠


πŸ¦‹ Variable Documentation πŸ¦‹

each entry below is listed in the original as EnvironmentVariable + the name (that's just the type tag), so here they are as headings, one per variable, in order, with all their notes intact. πŸ‘‘

COIN_DEBUG_GLU_INFO

COIN_DEBUG_GLU_VERSION

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

COIN_FREETYPE2_LIBNAME

COIN_FORCE_FREETYPE_OFF

COIN_FORCE_WIN32FONTS_OFF

COIN_FONT_PATH

COIN_GLBBOX

if the environment variable COIN_GLBBOX is set to 1, rendering action traversals will apply a bbox action before rendering πŸ”₯ this makes sure bounding box caches are updated β€” which you need 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, respectfully), so we don't do this by default. πŸ’…

COIN_GLU_LIBNAME

COIN_AGLGLUE_NO_PBUFFERS

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

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

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

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

IV_SEPARATOR_MAX_CACHES

you can use this 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're experiencing weird rendering bugs which are hard to track down. πŸ› (genuinely a lifesaver, fr fr)

COIN_AUTOCACHE_LOCAL_MAX

COIN_AUTOCACHE_LOCAL_MIN

COIN_AUTOCACHE_REMOTE_MAX

COIN_AUTOCACHE_REMOTE_MIN

COIN_AUTO_CACHING

COIN_ENABLE_VBO

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's VBO handling. (blame the driver, it's always the driver πŸ’€)

COIN_VBO_MAX_LIMIT

you can use this 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

COIN_VBO_MIN_LIMIT

you can use this 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

COIN_SOOFFSCREENRENDERER_ALLOW_RESOURCEHOG

SO_DRAGGER_DIR

SO_SHADER_DIR

COINDIR


πŸ‘‘ Author πŸ‘‘

generated automatically by Doxygen for Coin from the source code. πŸ€– (yes, the robots wrote it, and they ate, lowkey)


and that's the whole page bestie, you made it to the end!! πŸŽ‰πŸ’– this was Coin, Version 3.1.3, envvars(3), straight from the source code β€” go forth and set those variables, you absolute icon πŸ‘‘βœ¨

πŸ“¦ where this page comes from