OSGCONV(1)

✨ NAME ✨

osgconv β€” Convert between file formats parsed by OSG.

bestie, this is the manual page for osgconv (that's OSGCONV(1) in the header, periodt πŸ’…). It converts between file formats parsed by OSG, and it's lowkey iconic.


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so, usage first, then all the environment vibes, then the options. No cap.

🌸 usage:

obj-x86_64-linux-gnu/bin/osgconv [options] infile1 [infile2 ...]
outfile

🌈 environment:

  • OSG_ASSIGN_PBO_TO_IMAGES <ON/OFF> β€” set whether PixelBufferObjects should be assigned to Images to aid download to the GPU. ✨
  • OSG_BUFFER_OBJECT_POOL_SIZE <int> β€” set the hint for the size of the vertex buffer object pool to manage.
  • OSG_BUILD_KDTREES on/off β€” enable/disable the automatic building of KdTrees for each loaded Geometry.
  • OSG_COMPILE_CONTEXTS <mode> β€” OFF | ON: disable/enable the use of background compiled contexts and threads.
  • OSG_COMPUTE_NEAR_FAR_MODE <mode> β€” DO_NOT_COMPUTE_NEAR_FAR | COMPUTE_NEAR_FAR_USING_BOUNDING_VOLUMES | COMPUTE_NEAR_FAR_USING_PRIMITIVES
  • OSG_CONFIG_FILE <filename> β€” specify a viewer configuration file to load by default.
  • OSG_DATABASE_PAGER_DRAWABLE <mode> β€” set the drawable policy for setting of loaded drawable to specified type. mode can be one of DoNotModify, DisplayList, VBO or VertexArrays>.
  • OSG_DATABASE_PAGER_PRIORITY <mode> β€” set the thread priority to DEFAULT, MIN, LOW, NOMINAL, HIGH or MAX.
  • OSG_DEFAULT_BIN_SORT_MODE <type> β€” SORT_BY_STATE | SORT_BY_STATE_THEN_FRONT_TO_BACK | SORT_FRONT_TO_BACK | SORT_BACK_TO_FRONT
  • OSG_DISPLAY_TYPE <type> β€” MONITOR | POWERWALL | REALITY_CENTER | HEAD_MOUNTED_DISPLAY
  • OSG_DO_PRE_COMPILE <ON/OFF> β€” switch on or off the pre compile of OpenGL object database pager.
  • OSG_EYE_SEPARATION <float> β€” physical distance between eyes.
  • OSG_FBO_POOL_SIZE <int> β€” set the hint for the size of the frame buffer object pool to manage.
  • OSG_FILE_PATH <path>[:path].. β€” paths for locating datafiles.
  • OSG_FORCE_TEXTURE_DOWNLOAD <ON/OFF> β€” should the texture compiles be forced to download using a dummy Geometry.
  • OSG_GL_CONTEXT_FLAGS <uint> β€” set the hint for the GL context flags to use when creating contexts.
  • OSG_GL_CONTEXT_PROFILE_MASK <uint> β€” set the hint for the GL context profile mask to use when creating contexts.
  • OSG_GL_CONTEXT_VERSION <major.minor> β€” set the hint for the GL version to create contexts for.
  • OSG_GL_ERROR_CHECKING <type> β€” ONCE_PER_ATTRIBUTE | ON | on enables fine grained checking, ONCE_PER_FRAME enables coarse grained checking.
  • OSG_GL_EXTENSION_DISABLE <value> β€” use space deliminarted list of GL extensions to disable associated GL extensions.
  • OSG_GL_TEXTURE_STORAGE β€” ON|OFF or ENABLE|DISABLE, enables/disables usage of glTexStorage for textures where supported, default is ENABLED.
  • OSG_IMPLICIT_BUFFER_ATTACHMENT_RENDER_MASK β€” OFF | DEFAULT | [~]COLOR | [~]DEPTH | [~]STENCIL. Substitute missing buffer attachments for render FBO.
  • OSG_IMPLICIT_BUFFER_ATTACHMENT_RESOLVE_MASK β€” OFF | DEFAULT | [~]COLOR | [~]DEPTH | [~]STENCIL. Substitute missing buffer attachments for resolve FBO.
  • OSG_KEYSTONE ON | OFF β€” specify the hint to whether the viewer should set up keystone correction.
  • OSG_KEYSTONE_FILES <filename>[:filename].. β€” specify filenames of keystone parameter files. Under Windows use ; to deliminate files, otherwise use :
  • OSG_LIBRARY_PATH <path>[:path].. β€” paths for locating libraries/ plugins.
  • OSG_MAXIMUM_OBJECTS_TO_COMPILE_PER_FRAME <int> β€” maximum number of OpenGL objects to compile per frame in database pager.
  • OSG_MAX_NUMBER_OF_GRAPHICS_CONTEXTS <int> β€” maximum number of graphics contexts to be used with applications.
  • OSG_MAX_PAGEDLOD <num> β€” set the target maximum number of PagedLOD to maintain.
  • OSG_MAX_TEXTURE_SIZE β€” set the maximum size of textures.
  • OSG_MAX_TEXTURE_SIZE <value> β€” clamp the maximum GL texture size to specified value.
  • OSG_MENUBAR_BEHAVIOR <behavior> β€” OSX only: specify the behavior of the menubar (AUTO_HIDE, FORCE_HIDE, FORCE_SHOW).
  • OSG_MINIMUM_COMPILE_TIME_PER_FRAME <float> β€” minimum compile time alloted to compiling OpenGL objects per frame in database pager.
  • OSG_MULTI_SAMPLES <int> β€” set the hint for the number of samples to use when multi-sampling.
  • OSG_NEAR_FAR_RATIO <float> β€” set the ratio between near and far planes - must greater than 0.0 but less than 1.0.
  • OSG_NOTIFY_LEVEL <mode> β€” FATAL | WARN | NOTICE | DEBUG_INFO | DEBUG_FP | DEBUG | INFO | ALWAYS
  • OSG_NUM_DATABASE_THREADS <int> β€” set the hint for the total number of threads to set up in the DatabasePager.
  • OSG_NUM_HTTP_DATABASE_THREADS <int> β€” set the hint for the total number of threads dedicated to http requests to set up in the DatabasePager.
  • OSG_NvOptimusEnablement <value> β€” set the hint to NvOptimus of whether to enable it or not, set 1 to enable, 0 to disable.
  • OSG_OPTIMIZER "<type> [<type>]" β€” OFF | DEFAULT | FLATTEN_STATIC_TRANSFORMS | FLATTEN_STATIC_TRANSFORMS_DUPLICATING_SHARED_SUBGRAPHS | REMOVE_REDUNDANT_NODES | COMBINE_ADJACENT_LODS | SHARE_DUPLICATE_STATE | MERGE_GEOMETRY | MERGE_GEODES | SPATIALIZE_GROUPS | COPY_SHARED_NODES | OPTIMIZE_TEXTURE_SETTINGS | REMOVE_LOADED_PROXY_NODES | TESSELLATE_GEOMETRY | CHECK_GEOMETRY | FLATTEN_BILLBOARDS | TEXTURE_ATLAS_BUILDER | STATIC_OBJECT_DETECTION | INDEX_MESH | VERTEX_POSTTRANSFORM | VERTEX_PRETRANSFORM | BUFFER_OBJECT_SETTINGS
  • OSG_RUN_FRAME_COUNT β€” set the maximum number of frames to run the viewer run method.
  • OSG_RUN_FRAME_SCHEME β€” frame rate manage scheme that viewer run should use, ON_DEMAND or CONTINUOUS (default).
  • OSG_RUN_MAX_FRAME_RATE β€” set the maximum number of frame as second that viewer run. 0.0 is default and disables an frame rate capping.
  • OSG_SCREEN <value> β€” set the default screen that windows should open up on.
  • OSG_SCREEN_DISTANCE <float> β€” physical distance between eyes and screen.
  • OSG_SCREEN_HEIGHT <float> β€” physical screen height.
  • OSG_SCREEN_WIDTH <float> β€” physical screen width.
  • OSG_SERIALIZE_DRAW_DISPATCH <mode> β€” OFF | ON: disable/enable the use of a mutex to serialize the draw dispatch when there are multiple graphics threads.
  • OSG_SPLIT_STEREO_AUTO_ADJUST_ASPECT_RATIO <mode> β€” OFF | ON. Default to OFF to compenstate for the compression of the aspect ratio when viewing in split screen stereo. Note, if you are setting fovx and fovy explicityly OFF should be used.
  • OSG_SPLIT_STEREO_HORIZONTAL_EYE_MAPPING <mode> β€” LEFT_EYE_LEFT_VIEWPORT | LEFT_EYE_RIGHT_VIEWPORT
  • OSG_SPLIT_STEREO_HORIZONTAL_SEPARATION <float> β€” number of pixels between viewports.
  • OSG_SPLIT_STEREO_VERTICAL_EYE_MAPPING <mode> β€” LEFT_EYE_TOP_VIEWPORT | LEFT_EYE_BOTTOM_VIEWPORT
  • OSG_SPLIT_STEREO_VERTICAL_SEPARATION <float> β€” number of pixels between viewports.
  • OSG_STEREO <mode> β€” OFF | ON
  • OSG_STEREO_MODE <mode> β€” QUAD_BUFFER | ANAGLYPHIC | HORIZONTAL_SPLIT | VERTICAL_SPLIT | LEFT_EYE | RIGHT_EYE | VERTICAL_INTERLACE | HORIZONTAL_INTERLACE
  • OSG_SWAP_METHOD <method> β€” DEFAULT | EXCHANGE | COPY | UNDEFINED. Select preferred swap method.
  • OSG_TEXTURE_POOL_SIZE <int> β€” set the hint for the size of the texture pool to manage.
  • OSG_TEXT_SHADER_TECHNIQUE <value> β€” set the osgText::ShaderTechnique (yes, defafult in the original, iconic πŸ’€). ALL_FEATURES | ALL | GREYSCALE | SIGNED_DISTANCE_FIELD | SDF | NO_TEXT_SHADER | NONE
  • OSG_THREADING <value> β€” set the threading model using by Viewer, <value> can be SingleThreaded, CullDrawThreadPerContext, DrawThreadPerContext or CullThreadPerCameraDrawThreadPerContext.
  • OSG_USE_SCENEVIEW_FOR_STEREO <mode> β€” OFF | ON: disable/enable the hint to use osgUtil::SceneView to implement stereo when required..
  • OSG_VERTEX_BUFFER_HINT <value> β€” set the hint to what backend osg::Geometry implementation to use. NO_PREFERENCE | VERTEX_BUFFER_OBJECT | VERTEX_ARRAY_OBJECT
  • OSG_WINDOW x y width height β€” set the default window dimensions that windows should open up on.
  • OSG_WRITE_OUT_DEFAULT_VALUES β€” ON | OFF

πŸ’… options:

  • -O option β€” ReaderWriter option
  • --compressed β€” Enable the usage of compressed textures, defaults to OpenGL ARB compressed textures.
  • --compressed-arb β€” Enable the usage of OpenGL ARB compressed textures
  • --compressed-dxt1 β€” Enable the usage of S3TC DXT1 compressed textures
  • --compressed-dxt3 β€” Enable the usage of S3TC DXT3 compressed textures
  • --compressed-dxt5 β€” Enable the usage of S3TC DXT5 compressed textures
  • --fix-transparency β€” fix statesets which are currently declared as transparent, but should be opaque. Defaults to using the fixTranspancyMode MAKE_OPAQUE_TEXTURE_STATESET_OPAQUE.
  • --fix-transparency-mode <mode_string> β€” fix statesets which are currently declared as transparent but should be opaque. The mode_string determines which algorithm is used to fix the transparency, options are: MAKE_OPAQUE_TEXTURE_STATESET_OPAQUE, MAKE_ALL_STATESET_OPAQUE.
  • -l libraryName β€” load plugin of name libraryName i.e. -l osgdb_pfb Useful for loading reader/writers which can load other file formats in addition to its extension.
  • -e extensionName β€” load reader/wrter plugin for file extension i.e. -e pfb Useful short hand for specifying full library name as done with -l above, as it automatically expands to the full library name appropriate for each platform.
  • -o orientation β€” Convert geometry from input files to output files. Format of orientation argument must be the following:
X1,Y1,Z1-X2,Y2,Z2

or

degrees-A0,A1,A2

where X1,Y1,Z1 represent the UP vector in the input files and X2,Y2,Z2 represent the UP vector of the output file, or degrees is the rotation angle in degrees around axis (A0,A1,A2). For example, to convert a model built in a Y-Up coordinate system to a model with a Z-up coordinate system, the argument may look like

0,1,0-0,0,1

or

-90-1,0,0
  • -t translation β€” Convert spatial position of output files. Format of translation argument must be the following :
X,Y,Z

…and X, Y, and Z are the coordinates of the absolute position in world space 🌍✨ (that's the tail end of the option above, bestie β€” we're just picking up mid-thought, no biggie πŸ’…)


  • --use-world-frame β€” do your transformations in the world frame instead of relative to the center of the bounding sphere 🫢 like, stop centering everything on the sphere for once, live a little.
  • --simplify n β€” run the simplifier before output. The argument has to be a normalized value for the resultant percentage reduction πŸ”₯ so:
--simplify .5

will produce a 50% reduced model πŸŽ€ half the model, same vibes, iconic.

  • -s scale β€” scale the size of the model. The scale argument must be exactly:
SX,SY,SZ

where SX, SY, and SZ are the scale factors ✨

⚠️ Caution: scaling is done in destination orientation β€” not a drill, not a vibe, just a fact πŸ’€
  • --smooth β€” smooth the surface by regenerating surface normals on all geometry nodes 🧚 glowy, dewy, blessed skin for your polygons fr fr.
  • --addMissingColors β€” add a white color value to all geometry nodes that don't have their own color values 🌈 (--addMissingColours also accepted β€” yes bestie, both spellings, we love an inclusive queen πŸ‘‘).
  • --overallNormal β€” replace normals with a single overall normal πŸ’… one normal to rule them all, the main character of normals.
  • --enable-object-cache β€” enable caching of objects, images, etc. πŸ“ literally just letting it remember stuff, we love a memory girlie.
  • --formats β€” list all supported formats and their supported options πŸ“‹ the full menu, the whole menu, no gatekeeping.
  • --format <format> β€” display information about the specified <format>, where <format> is the file extension, such as "flt" πŸ¦‹ ask about one format specifically and it'll spill the tea on it.
  • --plugins β€” list all supported plugin files ✨ the whole plug-in roster, assembled.
  • --plugin <plugin> β€” display information about the specified <plugin>, where <plugin> is the plugin's full path and file name πŸ“ full path, file name, the whole government name, no nicknames.

and that's the whole page bestie, we ATE that manpage and left no crumbs πŸ˜­πŸ’– this one was written by the OpenSceneGraph girlies, dated September 2019, and it's literally called OSGCONV(1) β€” go forth and convert, periodt πŸ’…πŸ«Ά