Difference between revisions of "CalVR Config File"
|Line 16:||Line 16:|
Revision as of 09:02, 3 June 2011
The CalVR config file holds all the configuration information for the CalVR kernel and its plugins. The $CALVR_CONFIG_FILE environment variable specifies a colon separated list of files to load. The files can either be an absolute path or a path relative to the default config directory. This directory defaults to $CALVR_HOME/config but can be changed with the $CALVR_CONFIG_DIR if needed.
Include, local and Priority
Each xml file has the option of including other xml files, for example:
Where this tag is in the file is not important, its contents is added to global scope.
If you want to allow for different information to be visible on different rendernodes, for a screen configuration for example, you need to use local tags:
<LOCAL host="calit2-137-110-111-71.ucsd.edu" > <NumPipes value="1" /> </LOCAL>
The host attribute is a comma separated list of hosts that will see this tag structure. The LOCAL tag itself is transparent to the application, and thus should not appear in the tag path.
When looking for a config file value, all open xml files are searched until the first instance of the tag/attribute pair is found. If not found, the default value is returned. The file search order starts with the root config file, then looks in its first included file, then those included from that file, etc., then the root's second included file, then its included files... Basically, tag/attribute combinations in a file will override the value defined in any of its included files. If multiple files are listed in $CALVR_CONFIG_FILE, the first file and its includes are search before next file listed, and so on.
CalVR uses the following tag values from the global scope with the following default values:
<ShowAxis value="false" />
When set to "true", an coord axis is displayed for world space, object space, each hand and each head. x = red, y = green, z = blue.
<UseDepthPartition value="false" />
When set to "true", a depth partition node is used at the scene root. This is useful when you have scenes too large to set a static near/far value and there is lots of empty space within the depth range. (i.e. ossimPlanet viewing)