dune(1)

NAME
dune - graphical vrml97 editor and animation tool

SYNOPSIS
dune [ variantoptions ] [ stereoviewoptions ] [ inputdeviceoptions [ axisoptions ] [ miscoptions ] [ file.wrl file.x3dv file.xml ... ]

dune conversionoption [ -cover ] filename

dune -illegal2vrml [ -prefix prefix ] protofile.wrl file.wrl ...

DESCRIPTION
dune white_dune is a graphical editor for the Virtual Reality Modeling Language (VRML97), ISO/IEC 14772-1:1997.
Additionally it has support for the NurbsSurface Node described in VRML97 Amendment 1.
white_dune can also load and store vrml97 level X3DV files
It can export to VRML97 compatible parts of X3D classic VRML encoding. It also can load vrml97 level X3D .xml files, if configured to use the NIST vrml97/x3d translators.
A filename of - means standart input.
Dune has some basic support for stereographic view usually with shutterglases in OpenGL "quadbuffer" mode.
With the -illegal2vrml the dune program is reused as commandline program to repair VRML97 files with illegal extensions. See the illegal2vrml(1) manpage for more information.

VARIANTOPTIONS

-4kids
    start dune with a simplified 3D modeller orientated menu intended for kids.

-cover
    start dune with support for unportable extension nodes only usable with the special immersive VRML97 viewer cover/covise.

-x3dv
    start dune as with the menu point File -> New -> New X3DV. Per default, dune is started as with the menu point File -> New -> New VRML97.

-bw Use black and white icons instead of colored icons

-german
    Use german menu, dialogs and errormessages

-italian
    Use italian menu and dialogs, errormessages are still in english language

-english
    Use english menu, dialogs and errormessages. This is the default can be used to overwrite the setting of the LANG environment variable.

CONVERSIONOPTION

-vrml97
    Convert file to VRML97 ISO/IEC 14772-1:1997, write it to standart output and exit.

-vrml97levelx3dv
    Convert file to VRML97 ISO/IEC 14772-1:1997 compatible parts of X3D classic VRML encoding ISO/IEC ISO/IEC 19776-2:2005, write it to standart output and exit.

-ac3d
    Open a graphics window, convert file to the AC3D format (Version AC3Db), write it to standart output and exit.
    The AC3D file format is the input/output file format of the 3D modeller ac3d.
    The ac3d 3d modeller do not support several features of VRML/X3D (e.g. the ac3d 3d modeller do not support animation or interaction). Therefore the AC3D file format can not keep the complete information of a VRML/X3D file in general.

-catt8geo outputdir_with_material_geo
    Open a graphics window, convert file to the catt geo format (Version 8), write it to several .geo formats to the directory outputdir_with_material_geo and exit.
    The catt geo file format is the input geometry file format of the catt acustic simulation program.
    The master.geo file in this directory outputdir_with_material_geo will hold include commands for the other produced .geo files.
    In the directory, a file material.geo with the needed ABS commands must exist before conversion. The material names for the ABS names are generated from the DEF names of the VRML nodes.
    If the material.geo file do not exist in the outputdir_with_material_geo directory, white_dune fails with a errormessage.
    Despite the catt programm can export VRML97 files, it do not support several features of VRML/X3D.
    Therefore the catt geo file format can not keep the information of a VRML/X3D file in general.

STEREOVIEWOPTIONS

-nostereo
    force non stereoview mode on Linux/UNIX (e.g. if you do not own shutterglases)

-stereo
    force stereoview mode.
    Stereo is only supported for hardware/software combinations, that allow quadbuffer stereo ("stereo in a window"), NOT splitscreen stereo (eg. "OpenGlVR").
    Examples for hardware/software combinations with support for quadbuffer stereo are graphicscards with support for shutterglasses or "stereo cloneview" to connect beamers of a onewall.

-anaglyph glassestype
    force expermential stereoview mode for use with colored anaglyph glasses.
    glassestype can be red_green, green_red, red_blue or blue_red.
    This option uses the OpenGL accumulation buffer. This is not hardware-supported by a lot of graphics cards/graphics drivers and can result in miserable performance.

-eyedist eyedistinmeter
    Distance between the two eyes of the viewer.
    Default eyedistinmeter is 0.06, it can be negative to swap eyes (no need to reconfigure your hardware if eye swapping problems occure).

-screendist screendistinmeter
    Distance between the eyes of the viewer and the mid of the monitor screen.
    Default screendistinmeter is 0.8.

-fieldofview fieldofviewindegree
    Overwrite Field of View field in VRML viewpoints and set to fieldofviewindegree in degree.
    Good stereoviewing may want need to ignore the fieldOfView field of viewpoints. The fieldOfView of the human eye is about 18 degrees, the VRML default is 45 degrees.

INPUTDEVICEOPTIONS
The following options are only valid, if dune was compiled with matching inputdevice driver support (e.g. there is not support for a Linux joystick under IRIX).

-joystick joystickdevice
    Only valid under Linux or M$Windows.
    Under Linux, joystickdevice is the device of a Linux joystick (usually something like /dev/input/js0 or /dev/js0).
    Under M$Windows, the joystickdevice is a number. Depending from the M$Windows version, this number is either 0, 1 or a number from 0 to 15.

-SDLjoystick joystickdevice
    Currently only valid under Linux, MacOSX, FreeBSD, NetBSD or OpenBSD. The joystickdevice is a number (e.g. 0, 1, 2, ...).

-spaceball spaceballdevice
    spaceballdevice is the serial device connected to the spaceball (usually something like /dev/ttyd2 or /dev/ttyS0).
    Only valid if binary was compiled with libsball support.

-xinput xinputname
    xinputname is the devicename supported by the Xinput Protocol (usually something like magellan or dialbox).
    Valid on most Unix/X11 implementations.

-xinputlist
    Print a list of Xinput devicenames that can be possibly used as xinputname for the -xinput option and exit.
    Valid on most Unix/X11 implementations.

-xinputlistlong
    Print a list of Xinput devicenames with axis information and exit.
    Valid on most Unix/X11 implementations.

-aflock aflockdevice  [ aflockoptions ]
    -tracker birdaddr -wand birdaddr aflockdevice is the serial device connected to the Ascension Flock of Birds master transmitter (usually something like /dev/ttyd2 or /dev/ttyS0).
    Dune assumes the following configuration:
    Multiple FOBs with single RS232 Interface to Host Computer (see "The flock of Birds, Installation and Operation Guide, Standalone and Multiple Transmitter/Multiple Sensors Configurations", Page 3 (chapter "Introduction"), Figure 2).
    birdaddr is the adress of the Bird Unit of the magnetic head tracker (-tracker) or "3D Mouse" (-wand) in the Fast Bird Bus (FBB adress) as configured with the dipswitches on the Bird Unit.
    This program need to have the Flock of Birds configured in the Normal Address Mode only (see Page 12, Figure 4 of the manual decribed above).

-headnavigation
    Use current transformmode (including rotations) when using a headtracker.
    Default without -headnavigation is using only the translation mode. This default gives you a very natural reaction, when your head moves, the virtual world moves, but if your head only rotates, the virtual world stand still. With the headnavigation option, the virtual world reacts to head rotations, depending of the current transform mode. Be carefull when you use this feature while talking to a audience. Talking cause small and fast head rotations and will cause small and fast rotations of the virtual world. Your audience may get a impression like in a earthquake and is more in danger to get motion sickness.

-sendalways
    Tell dune that the device sends (almost) always values. This values will then not me be interpreted automatically as transform commands.
    Automatically used for Ascension Flock of Birds device (-aflock).

-dontcarefocus
    Inputdevice actions dont care about the window focus.
    This can be useful in situations, when you only work with one dune window, e.g. when using a onewall.

AXISOPTIONS

-x|-y|-z|-xrot|-yrot|-zrot=[-][integer_axisnumber]
    [,[factor][,[accel][,[wheel][,ignore]]]]

-all|-allxyz|-allrot=[factor][,[accel][,[wheel][,ignore]]]

-none=integer_axisnumber

-axes=max_number_axes

AXISLEGEND

-   used to swap sign of value from axis

integer_axisnumber
    Integer with the number of the axis, that should be used for the x y z xrot yrot zrot directions.
    This number may not be greater than the number of axes of the inputdevice.
    The integer_axisnumber in the none option is used to disable this axis.

factor
    Float with a multiplicator for the axes
    The factors of the all, allrot and allxyz options are independend of the factors of the single axes.

accel
    Float with a expotential accelerator for the axes

wheel
    The string "wheel" means this axis of the inputdevice will not deliver zero if released

ignore
    Float with the value (relative to the maximal value from the device) which will be ignored (insensitivity)

max_number_axes
    Number of used axes, one of (2,3,4,5).
    This must be equal or less to the physical available axes of a device. Main usage of this option is to disable bad designed or mechanical defect axes e.g. when you wish, this axis on a joystick would not exist

AFLOCKOPTIONS
This options are only valid for the Ascension flock of birds magnetic tracking system.

-baud baudrate
    Baudrate of the serial line communicating with the transmitter.
    According to the flock of bird manual, the following baudrates are valid for serial line communication: 2400, 4800, 9600, 19200, 38400, 57600 and 115200.
    Default: 38400

-numbirds numberbirds
    Number of "data delivering" birds attached to the transmitter (e.g. not counting the transmitter itself, if it is a Extended Range Controller (ERC)).
    Default: 2 (tracker and wand).

-master birdaddr
    Adress of the master transmitter in the Fast Bird Bus (FBB adress) as configured with the dipswitches on the transmitter unit.
    Default: 1

-hemisphere FRONT_HEM|AFT_HEM|UPPER_HEM|LOWER_HEM|LEFT_HEM|RIGHT_HEM
    Hemisphere used. Sit on the antenna block (with the legs near on the side of the text) to see, what is left or right 8-)
    Default: RIGHT_HEM

-sync 0|1
    Synchronise (1) or not (0) data output to a CRT (Monitor) or your host computer. Synchronisation is used to elimiate magnetic effects of a Monitor using the CRT sync cable.
    Default: 0

-block 0|1
    Set (1) or do not set (0) the FNDELAY flag to the filedescriptor of the serial port.
    Default: 0

-filter AC_NARROW | AC_WIDE | DC_FILTER
    Enable different filters. Read the Flock of Birds manuals for more information.
    This option can be repeated to use multiple filters.
    Default: no filter set, using filter set by Flock autoconfiguration.

-suddenchangelock 0|1
    Allow (0) or disallow (1) setting of messured position and orientation when a sudden large messurement occure.
    Default: 1

-calfile calibrationfile
    Use a VR Juggler style file to calibrate position messurement.

-ignoresize delta
    Ignore position jumps from flock bigger than delta. This is much like suddenchangelock, but pure software based.
    Default: 0

MISCOPTIONS

-tessellation integer
    Set the default tessellation of NURBS and superformula based parametric shapes to integer.
    The meaning of tessellation decide how many edges are generated in one direction.
    A low default tessellation result in faster rendering of related shapes with tessellation set to 0 inside the white_dune application, but can give a reduced view, so details of a shape may be hidden.
    If no -tessellation option is used, the default tessellation is 32.

-uninstall
    Output information (if available) on the commandline, how the white_dune application can be uninstalled and exit.
    Under Micro$oft Windows it additionally clears all information activly set by white_dune (under HKEY_CURRENT_USER) in the Windows registry.

-psn_???
    Only valid under MacOSX.
    Options starting with the string "-psn_" are generated by the Aqua desktop under on some versions of MacOSX and are silently ignored.

-filedialogdir directory
    Change to a specific directory before opening a filedialog.

-proto protofile
    Adds the VRML PROTO in the file protofile to the list of available PROTOs in the create -> proto menu and exit.

--copyrightdetails
    Print out detailed copyright informations and exit.

MOUSE/KEYS
In the 3D view, dune support the following mouse / keyboard commands:

Mouse Button 1 click:
    Select objects/3D handlers (e.g. arrows or white boxes) under the cursor (or under the top of 3D cursor in stereoview)

Mouse Button 1 drag:
    Drag objects/3D handlers around

CTRL-Mouse Button 1 drag:
    Virtual trackball navigation

SHIFT-Mouse Button 1 drag:
    Forward/backward navigation

CTRL+SHIFT-Mouse Button 1 drag:
    up/down/left/right navigation

ALT-Mouse Button 1 drag: (SGI style)
    Virtual trackball navigation

ALT-Mouse Button 2 drag: (SGI style)
    up/down/left/right navigation

ALT-Mouse Button 1+2 drag: (SGI style)
    forward/backward navigation

Navigation icon pressed-Mouse Button 1 drag:
    Virtual trackball navigation

Navigation icon pressed-Mouse Button 2 drag:
    forward/backward navigation

Navigation icon-Mouse Button 1+2 drag:
    up/down/left/right navigation

In the route view, dune support the following mouse / keyboard commands:

Mouse Button 1 click to fieldname of a node and drag to matching fieldname:
    create a ROUTE connection

Mouse Button 1 click to nothing and drag:
    cut a ROUTE connection

Mouse Button 1 click to a node and drag:
    move node in the route view

Mouse Button 1 click to a node, hold Mouse Button1, pressing Page Up/Down key
    move node in the route view by one page (works only on correct motif/lesstif implementations)

Information about other keyboard usage can be found in the toolbar.

Tips how to use dune can be found in the docs directory of dune
    (http://129.69.35.12/dune/docs/)

EXAMPLES

dune -nostereo
    start dune this way, if you have a stereo capable visual, but no shutterglases or other shutterbased technology.

dune -xinput magellan -allxyz=10,100,,0.0000002 -xinput dialbox-1 -x=0 -y=2 -z=4 -xrot=1 -yrot=3 -zrot=5 -all=1000,,wheel
    starts dune with a magellan xinputdevice with factor 10, acceleration 100 and a ignore value of 0.0000002 on the xyz axes and a dialbox device with
    x axis = 0. axis
    y axis = 2. axis
    z axis = 4. axis
    rotation around x axis = 1. axis
    rotation around y axis = 3. axis
    rotation around y axis = 5. axis
    all axes use factor 1000 and all to not deliver zero if released

dune -joystick /dev/input/js0 -z=,3 -axes=3
    starts dune with a linux joystick, set acceleration of the z axis to 3 and disables the 4. (5., 6., ...) axis.

dune -xinput magellan -all=100,,wheel -z=3 -xrot=2 -none=2
    starts dune with a xinput/magellan device, swapping axis number 2 and axis number 3, with axis number 2 disabled.

dune -aflock /dev/ttyS1 -numbirds 2 -master 1 -wand 2 -tracker 3
    starts dune with a Ascension Flock of Birds, master transmitter (a Extended Range Controller (ERC)) at FBB adress 1 connected to the serial device /dev/ttyS1. Use 2 Birds, one attached to a "3D Mouse" device at FBB adress 2 and one attached to a head tracking device at FBB adress 3.

FILES
$HOME/.dunerc
default file to load/store settings
(see DUNERC environment variable for more information)

$HOME/.dune_crash_*_*.wrl
    stores the vrml file in case of a crash

ENVIRONMENT

DUNERC filename to load/store details of dunes screen layout and
    settings of the "options" menupoint.
    If this filename is not writable, settings are only loaded, not stored.
    If DUNERC is not set, the file $HOME/.dunerc is used under Linux/UNIX/MacOSX or the registry under Micro$oft Windows.

DUNEDOCS  path to documentation directory

LANG  the first two characters of then environment variable LANG
    are compared to the ISO 3166 country shortcut of the supported languages. For example, if LANG is set to de_DE@euro, german menu, dialogs and errormessages are used.

Dune can be compiled to include all informations necessary to call the
    nist.gov x3dtranslators statically in the binary. Otherwise the following environment variables are used: JAVA_PATH (e.g. /something_like/usr/java/bin/java)

SAXON_FILE (e.g. saxon.jar)

SAXON_PATH (e.g. /something_like/usr/local/src/x3d2vrml/saxon)

X3DV2_FILE (e.g. x3dv2.jar)

X3DV2_PATH (e.g. /something_like/usr/local/src/x3dv2)

V2X3D_FILE (e.g. Vrml97ToX3dNist.jar)

X3DV2_PATH (e.g. /something_like/usr/local/src/v2x3d)

COPYRIGHT
    Dune, graphical vrml97 editor and animation tool
    Copyright (C) 2000-2002 Stephen F. White and others
    This program is free software; you can redistribute it
    and/or modify it under the terms of the
    GNU General Public License
    as published by the Free Software Foundation; either
    version 2 of the License, or (at your option) any later
    version.

BUGS
Dune need valid vrml97 code to work, it can not load a invalid VRML97 file.
Currently the NIST.gov X3D translators fail to produce valid VRML97 code for some rare used nodes like VisibilitySensor or Collision. To avoid dataloss, the temporary .wrl files are kept in /tmp
dune is software in development, expect bugs. Unsucessful crashes should be rare, sucessfully crashes allow to get back the data. (see "EXIT STATUS"). Currently not all VRML97 nodes are displayed (e.g. background, extrusion) or displayed correctly (e.g. text, viewpoint).
Please send bugmessages to

DIAGNOSTICS
Exit status is 0 for sucessfull operation, 1 if inputfile can not be sucessfully read or other initialisation error, 2 in case of a X11 server crash. 11 in case of can not open display/X11 initialisation error.

EXIT STATUS
In case of a crash (e.g. X11 server crash or signal (coredump) in case of a internal error), dune tries to write it's contence to the file $HOME/.dune_crash_*_*.wrl

SEE ALSO
illegal2vrml(1), v2x3d(1), x3dv2(1), vrwave(1), FreeWRL(1), lookat(1), cc3dglut(1), xj3d(1), cosmoplayer(1), cosmoworlds(1), wings3d(1), blender(1)

AUTHORS
Stephen F. White and others
    See README file for details