TracNav
Documentation
- Getting Started
BuildEnvironment...
- Terrain Data
- Architecture
Modules...
osgVisual Configuration via XML
- SerializationNotes
- ExecuterNotes
- CameraControl
- Theories of Terrain Deformation
- Theories of Image Distortion
- Home
About...
- Screenshots
- Downloads
Projection Designer...
- Wiki Edit
- Website Credits/Impressum
<< Back to XML configuration overview
List of modules with available XML configuration options
Data In/Output?
The central Data Input/Output? module is the only module you cannot disable in osgVisual. The parameter "enabled" is ignored, because dataIO is mandatory for the visual system to place object etc.
You have to define in which Network setup ("clusterrole") osgVisual should work:
- master: In this role osgVisual recieves all relevant information via the extLink implementation and sends it via cluster implementation to the slave nodes.
- slave: In this role osgVisual recieves all relevant rendering information via the cluster implementation.
- standalone: In this role osgVisual recieves all relevant data via the extLink and renders it. No cluster functionality is used.
You can subclass the cluster or extLink interface file to create your own cluster implementation (e.h. ethernet UDP based). Therefore you have to specify which implementation should be used. Each implementation has it's own set of attributes you have to specify.
The XML configuration is as followed:
<module name="dataio" enabled="yes"> <dataio clusterrole="standalone"></dataio> <cluster implementation="enet" hardsync="yes" master_ip="10.10.10.10" port="1234" use_zlib_compressor="yes" ></cluster> <extlink implementation="vcl" filename="osgVisual.xml"></extlink> </module>
cluster implementation 'enet'
To use the UDP based 'enet' implementation for osgVisual, you have to specify the network details (IP, port) and if you want eNet to use the zLib compressor to reduce the transfered data size. The parameter hardsync is currently not in use (version 0.6)
<cluster implementation="enet" hardsync="yes" master_ip="10.10.10.10" port="1234" use_zlib_compressor="yes" ></cluster>
extLink implementation 'VCL'
To use the proprietary VCL implementation for osgVisual, you have to specify the VCL configuration file in the attribute "filename".
<extlink implementation="vcl" filename="osgVisual.xml"></extlink>
Distortion
You can enable the distortion module to distort the final image for projection on non-planar surfaces. The channel name is the suffixname of the required configuration files. The distortion requires three files:
- distort_<channelname>.bmp: The distortion map, with the distortion vector encoded in the RGB values of each pixel of the distortion map.
- blend_<channelname>.bmp: The blend map which contains the soft edge blending mask for seamless blending between video projectors.
- view_<channelname>.cfg: The configuration file, which contains the frustum and the rotational and translational offset of the projector (and hence of the !OpenGL "camera").
The XML configuration is as followed:
<module name="distortion" enabled="no"> <distortion channelname="center" renderimplemmentation="fbo" width="2048" height="2048" useshader="yes" hdr="yes" usetexturerectangle="no"></distortion> </module>
You can select the technique which should be used to distort the images. The available renderImplementations are:
- fbo : renderImplementation = osg::Camera::FRAME_BUFFER_OBJECT
- pbuffer : renderImplementation = osg::Camera::PIXEL_BUFFER
- pbuffer-rtt : renderImplementation = osg::Camera::PIXEL_BUFFER_RTT
- fb : renderImplementation = osg::Camera::FRAME_BUFFER
- window : renderImplementation = osg::Camera::SEPERATE_WINDOW
You have to select the heights and width of the distortion map you want to use. The flag "useshader" indicates to use shaders instead of plain OpenGL. To distort HDR renderings enable the flag "hdr". The Flag "usetexturerectangle" indicated whether a texture rectangle should be used to display the distorted image.
OPTIONAL
If your distortion- or blendmap are named different from the standard naming scheme, you can define the names explicit insinde the XML <module> entry (parallel to the XML <distortion> entry):
<module name="distortion" enabled="yes"> <distortion ...></distortion> <distortionmap filename="yourDistmap.png"></distortionmap> <blendmap filename="yourBlendmap.png"></blendmap> </module>
Sky Silverlining
Currently sky_silverlining has no module dependend configuration. It only allows to enable or disable the sky framework.
The XML entry is:
<module name="sky_silverlining" enabled="yes"></module>
Vista 2D
The vista2D module works, but regarding to its architecture the usage in OpenSceneGraph (and hence in osgVisual) is quite performance degrading. Nevertheless, for testing purposes or for prototype usage it is available.
In the XML Entry, you have to specify the vista2D project file and the position and zoom factor it should use. To enable the animation you have to enable the attribute "playanimation". You can control the background of the vista2D project by en- or disable the attribute "paintBackground".
<module name="vista2d" enabled="yes"> <vista2d filename="D:\osgVisual\osgVisual\bin\altimeterSimple.v" paintBackground="no" position_x="1" position_y="1" zoom="1.0" playanimation="yes"></vista2d> </module>