dune - graphical vrml97 editor and animation tool
dune [ -4kids ] [ stereoviewoptions ] [ inputdeviceoptions [
axisoptions ] ] [ file.wrl ] [ file.xml ] ...
dune -illegal2vrml [ -prefix prefix ] protofile.wrl file.wrl
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 Final Draft. It also
can load vrml97 level X3D .xml files, if configured to use the NIST
Dune has some basic support for stereographic view usually with
shutterglases in OpenGL "quadbuffer" mode.
With the -4kids option dune is started with a simplified 3D modeller
orientated menu intended for kids.
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.
force non stereoview mode on Linux/UNIX (e.g. if you do not own
force stereoview mode. Stereo is only supported for
hardware/software combinations, that allow quadbuffer stereo
("stereo in a window"), NOT splitscreen stereo ("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
force expermential stereoview mode for use with colored anaglyph
glasses. glassestype can be red_green, green_red, red_blue or
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).
Distance between the eyes of the viewer and the mid of the
monitor screen. Default screendistinmeter is 0.8.
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
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).
Only valid under Linux or M$Windows. Under Linux,
joystickdevice is the device of 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.
Currently only valid under Linux, MacOSX, FreeBSD, NetBSD or
OpenBSD. The joystickdevice is a number (e.g. 0, 1, 2, ...).
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.
xinputname is the devicename supported by the Xinput Protocol
(usually something like magellan or dialbox). Valid on most
This option print a list of Xinput devicenames that can be
possibly used as xinputname for the -xinput option. 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). Only valid if binary was
configured/compiled with --with-aflock option. 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).
Use current transformmode when using a headtracker. Default
without this option 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 in danger to get motion sickness.
Tell dune that the device sends (almost) always values (do not
switch to other VRML nodes to make sense of inputvalues).
Automatically used for Ascension Flock of Birds device
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.
- used to swap sign of value from axis
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
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"
wheel means this axis of the inputdevice will not deliver zero
ignore Float with the value (relative to the maximal value from the
device) which will be ignored (insensitivity)
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
This options are only valid for the Ascension flock of birds magnetic
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
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).
Adress of the master transmitter in the Fast Bird Bus (FBB
adress) as configured with the dipswitches on the transmitter
unit. Default: 1
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:
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.
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
Allow (0) or disallow (1) setting of messured position and
orientation when a sudden large messurement occure. Default: 1
Use a VR Juggler style file to calibrate position messurement.
Ignore position jumps from flock bigger than delta. This is
much like suddenchangelock, but pure software based. Default: 0
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:
CTRL+SHIFT-Mouse Button 1 drag:
ALT-Mouse Button 1 drag: (SGI style)
Virtual trackball navigation
ALT-Mouse Button 2 drag: (SGI style)
ALT-Mouse Button 1+2 drag: (SGI style)
Navigation icon pressed-Mouse Button 1 drag:
Virtual trackball navigation
Navigation icon pressed-Mouse Button 2 drag:
Navigation icon-Mouse Button 1+2 drag:
In the route view, dune support the following mouse / keyboard
Mouse Button 1 click to fieldname of a node and drag to matching
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
Tips how to use dune can be found in the docs directory of dune
(same as http://www.csv.ica.uni-
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
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
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
stores details of dunes screen layout and some other information
stores the vrml file in case of a crash
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)
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
Dune need valid vrml97 code to work, it can not load a invalid
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
dune is software in development, expect bugs. Unsuccessful
crashes should be rare, successfully 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
Exit status is 0 for successfull operation, 1 if inputfile can
not be successfully read or other initialisation error, 2 in
case of a X11 server crash. 11 in case of can not open
display/X11 initialisation error.
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
illegal2vrml(1), v2x3d(1), x3dv2(1), vrwave(1), FreeWRL(1),
lookat(1), cc3dglut(1), xj3d(1), cosmoplayer(1), cosmoworlds(1),
VRML97 International Standard
VRML97 Amendment 1:Final Proposed Draft Amendment
NIST vrml97/x3d translators
Stephen F. White and others
See README file for details