1dune(1) General Commands Manual dune(1)
2
3
4
6 dune - graphical vrml97/x3d editor and animation tool
7
9 dune [ variantoptions ] [ stereoviewoptions ] [ inputdeviceoptions [
10 axisoptions ] [ miscoptions ] [ file.wrl file.x3dv file.x3d url ... ]
11
12 dune [ conversionoption ] filename
13
14 dune -illegal2vrml [ -prefix prefix ] protofile.wrl file.wrl ...
15
17 dune / white_dune is a graphical editor for the Virtual Reality Model‐
18 ing Language (VRML97), ISO/IEC 14772-1:1997 and X3D.
19 Additionally it has support for the NurbsSurface Node described in
20 VRML97 Amendment 1.
21 It can also load X3D files with XML encoding, if it has been compiled
22 with the expat XML parser library.
23 It can also download files from the internet (to ~/Downloads (default),
24 see "options->output setting"), if it has been compiled with the curl
25 library.
26 A filename of - means standart input.
27 Dune has some basic support for stereographic view usually with shut‐
28 terglases in OpenGL "quadbuffer" mode.
29 When used with the conversionoptions or the -illegal2vrml commandline
30 argument, white_dune is a non graphical commandline program.
31 The conversionoptions are used to convert the VRML/X3DV/X3D file into
32 sourcecode or a other 3D graphics format. This options are used in the
33 commandline, but some options require a graphics context (e.g. in the
34 simplest case a usage within a xterm command), cause some of the con‐
35 version options require the usage of OpenGL commands. To create a
36 OpenGL context, there are 3 different ways.
37 First open a temporay graphics window, do the conversion and close the
38 graphics window and exit. This is currently used under M$Windows.
39 Second is to use Mesa off screen rendering (the program was compiled
40 with the --with-osmesa configure option). With Mesa off screen render‐
41 ing it is possible to use OpenGL commands in a pure commandline pro‐
42 gram.
43 Third is to use glx based off screen rendering under Linux/UNIX/MacOSX.
44 In this case, the program do not open a graphics window, but requires a
45 working X11 display anyway. On a text console the Xvfb X11 server pro‐
46 gram can be used to get a working X11 display.
47 The -illegal2vrml option is used to repair VRML97 files with illegal
48 extensions.
49 See the illegal2vrml(1) manpage for more information.
50
52 -4kids start dune with a simplified GUI as simple 3D modeller for kids.
53
54 -x3dv if no file is loaded, start dune with a new X3DV file.
55 Per default, dune is started with a new VRML97 file.
56 If a file is loaded, dune prints a X3DV to standart out.
57
58 -kambi start dune with support for unportable extension nodes only
59 usable with the kambi VRML gameengine.
60
61 -cover start dune with support for unportable extension nodes only
62 usable with the special immersive VRML97 viewer cover/covise.
63
64 -x3dom start dune with support for unportable extensions only usable
65 with the X3DOM viewer.
66
67 -4catt start dune with a simplified GUI as a exporter/converter for
68 users of the CATT 8 sound simulation software.
69
70 -german
71 Use german menu, dialogs and errormessages
72
73 -italian
74 Use italian menu and dialogs, errormessages are still in english
75 language
76
77 -french
78 Use french menu and dialogs, errormessages are still in english
79 language
80
81 -portuguese
82 Use portuguese 4kids menu, only helpfull with -4kids option,
83 otherwise all in english
84
85 -english
86 Use english menu, dialogs and errormessages. This is the
87 default, it can be used to overwrite the setting of the LANG
88 environment variable.
89
91 -vrml97
92 Convert file to VRML97 ISO/IEC 14772-1:1997, write it to stan‐
93 dart output and exit.
94
95 -vrml97levelx3dv
96 Convert file to VRML97 ISO/IEC 14772-1:1997 compatible parts of
97 X3D classic VRML encoding ISO/IEC ISO/IEC 19776-2:2005, write it
98 to standart output and exit.
99
100 -x3d Convert file to XML encoded X3D, write it to standard output and
101 exit.
102
103 -X3DOM Convert file to X3DOM html, write it to standard output and
104 exit.
105
106 -download
107 Download file from the internet, write filenames to standard
108 error and exit.
109
110 -kanim filenamepattern
111 Convert file to the kanim fileformat and write it to standard
112 output.
113 The kanim fileformat is a XML file with references to different
114 VRML files. The VRML files are generated too, their name is gen‐
115 erated based on filenamepattern: The filenamepattern is shortend
116 from the fileextension and then extended with a underscore, a
117 increasing number and the .wrl extension.
118 All VRML files describe the same VRML scene with same the nodes,
119 but some numeric fields are animated.
120 This type of file is used by the open source VRML based Kambi
121 gameengine. It makes no sense to export a kanim file, if the
122 exported VRML file do not contain timesensor/interpolator based
123 animation.
124
125 -wonderland moduleDirectory
126 Convert file to a java source file included in a directory
127 structure needed to build a SUN wonderland version 0.5 module
128 and exit.
129 If the root directory of the module is build from the input
130 filename (without extension) as moduleDirectory/exportX3dv/file‐
131 name
132 If this directory and the other needed files do not exists, this
133 files are also created. If the other files exist, they are not
134 overwritten, only the target java source itself is overwritten.
135 The name of the target java source file is moduleDirec‐
136 tory/exportX3dv/filename/src/classes/org/jdesktop/wonder‐
137 land/modules/filename/client/jme/cellrenderer/filename.java The
138 first character of the target java source file is uppercase.
139 To get a wonderland module from the moduleDirec‐
140 tory/exportX3dv/filename directory, chance into this directory
141 and run the ant command. A usual jar file of the wonderland mod‐
142 ule can then be found in the moduleDirectory/exportX3dv/file‐
143 name/dist directory.
144 When compiling the output of the wonderland java source export
145 with the command ant, the java compiler may get out of memory
146 resources.
147 To fix the problem, you can either set the memory limits via the
148 NT_OPTS environment variable to something like (bash/sh/ksh)
149
150 ANT_OPTS="-Xms256m -Xmx1024m"
151 export ANT_OPTS
152
153 or (M$Windows)
154
155 set ANT_OPTS="-Xms256m -Xmx1024m"
156
157 or set the memory limits by extending the javac tag in the file
158 wonderland/build-tools/build-scripts/build-setup.xml e.g.
159
160 <javac ...
161 ...
162 fork="true"
163 memoryinitialsize="256m"
164 memorymaximumsize="1024m"
165 >
166
167 This option uses OpenGL commands and can not be used in a com‐
168 mandline only environment.
169
170 -x3d4wonderland
171 Convert file to XML encoded X3D for import in SUN wonderland
172 0.4, write it to standard output and exit.
173 SUN wonderland 0.4 only support IndexedFaceSets with colorPer‐
174 Vertex and fullsize Color nodes. This exporter tries to convert
175 other nodes to this IndexedFaceSets, but can (currently) not
176 correctly convert nodes with colorPerVertex false and fullsize
177 Color nodes.
178 This option uses OpenGL commands and can not be used in a com‐
179 mandline only environment.
180
181 -rib Convert file to the RIB format (Renderman Image Bytestream),
182 write it to standart output and exit. This option uses OpenGL
183 commands and can not be used in a commandline only environment.
184 The RIB file format is the input file format of movie renderers
185 like renderman or aqsis.
186 The RIB exporter do not support several features of VRML/X3D
187 (e.g. TextureTransform).
188
189 -files integer
190 Only useful with the -rib option.
191 Instead of writing the whole animation into the -o option file,
192 create integer files with parts of the animation. This is use‐
193 full to run the renderman renderer (e.g. aqsis) parallel.
194 A example:
195 $ dune -o RibExport.rib -files 4 -rib Untitled.wrl
196 $ for i in RibExport*.rib ; do (aqsis $i &); done
197
198 -ac3d Convert file to the AC3D format (Version AC3Db), write it to
199 standart output and exit. This option uses OpenGL commands and
200 can not be used in a commandline only environment.
201 The AC3D file format is the input/output file format of the 3D
202 modeller ac3d.
203 The ac3d 3d modeller do not support several features of VRML/X3D
204 (e.g. the ac3d 3d modeller do not support animation or interac‐
205 tion). Therefore the AC3D file format can not keep the complete
206 information of a VRML/X3D file in general.
207
208 -catt8geo outputdir_with_material_geo
209 Convert file to the catt geo format (Version 8), write it to
210 several .geo formats to the directory outputdir_with_mate‐
211 rial_geo and exit.
212 The catt geo file format is the input geometry file format of
213 the catt acustic simulation program.
214 The master.geo file in this directory outputdir_with_mate‐
215 rial_geo will hold include commands for the other produced .geo
216 files.
217 In the directory, a file material.geo with the needed ABS com‐
218 mands must exist before conversion. The material names for the
219 ABS names are generated from the DEF names of the VRML nodes.
220 If the material.geo file do not exist in the output‐
221 dir_with_material_geo directory, white_dune fails with a
222 errormessage.
223 Despite the catt programm can export VRML97 files, it do not
224 support several features of VRML/X3D.
225 Therefore the catt geo file format can not keep the information
226 of a VRML/X3D file in general.
227 This option uses OpenGL commands and can not be used in a com‐
228 mandline only environment.
229
230 -ldraw Convert file to the major part of the ldraw fileformat and write
231 it to standard output.
232 The header of the ldraw file is not generated. The header is a
233 important part of a ldraw file and should have been written to
234 standard output earlier (typically this is done from a batch
235 script).
236 The ldraw fileformat is a ASCII fileformat which is used to
237 exchange 3D data between several open source plastic brick
238 description programs. A example for such a program is LeoCAD.
239
240 -prefix prefix
241 The -prefix option in conjunction with conversion is only used
242 for the following options to create source code. It can be used
243 to define a leading prefix for the name of the data structures
244 in the source code output.
245 For example, the source code creates data types named "Node",
246 "Scenegraph" and "Callback". To avoid problems with other
247 libraries, adding options like for example "-prefix X3d" would
248 change the names to "X3dNode", "X3dSceneGraph" and "X3dCall‐
249 back".
250
251 -c Converts file to a C header/source file, write it to standard
252 output and exit.
253 See section C/C++/JAVA SOURCE EXPORT for more information.
254
255 -3c This option is similar to the -c option, but surfaces are first
256 triangulated and then exported as TriangleSet nodes.
257 This option uses OpenGL commands and can not be used in a com‐
258 mandline only environment.
259
260 -c++ Converts file to a C++ header/source file, write it to standard
261 output and exit.
262 See section C/C++/JAVA SOURCE EXPORT for more information.
263
264 -3c++ This option is similar to the -c++ option, but surfaces are
265 first triangulated and then exported as TriangleSet nodes.
266 This option uses OpenGL commands and can not be used in a com‐
267 mandline only environment.
268
269 -java Converts file to a java source file, write it to standard output
270 and exit.
271 See section C/C++/JAVA SOURCE EXPORT for more information.
272
273 -3java This option is similar to the -java option, but surfaces are
274 first triangulated and then exported as TriangleSet nodes.
275 This option uses OpenGL commands and can not be used in a com‐
276 mandline only environment.
277
278 -manyclasses
279 Deprecated (now default)
280 Only valid after the -java, -3java or -wonderland options.
281 This option is a brute force attempt to fight against the "too
282 much constants" problem in java. It may be impossible to compile
283 the output of a normal java based source code export, cause the
284 current format of java class files are limited to 64K so called
285 "constants". Not only real constants like 1, 2 or 3 are counted,
286 but also things like member variable definitions in classes etc.
287 With the -manyclasses option, all data is distributed into many
288 seperated classes.
289 The -manyclasses option should help, if you run into the "too
290 much constants" problem. In case of a large number of DEF com‐
291 mands in the vrml/x3dv file, you can still run into "too much
292 constants" problem, cause each DEF commands leads to extra mem‐
293 ber variable in the main scenegraph class. In this case, you
294 should reduce the number of DEF commands with the menupoint
295 actions ... rest of scenegraph branch ... remove ... DEF name
296 Beside the need to increase the memory limits of the javac com‐
297 piler (-Xms/-Xmx) options, you may also need to increase the
298 PermSize memory limits (-XX:PermSize=/-XX:MaxPermSize=) of the
299 java interpreter.
300
301 -o outputfile
302 Writes the converted file to outputfile.
303 This is important if the converted X3D/VRML file is not in the
304 same directory as the orignal file (cause of relative paths in
305 URLs like in ImageTexture or EXTERNPROTOs).
306 Note that -o outputfile must be used before the inputfile (file‐
307 name).
308
310 -nostereo
311 force non stereoview mode on Linux/UNIX (e.g. if you do not own
312 shutterglases)
313
314 -stereo
315 force stereoview mode.
316 Stereo is only supported for hardware/software combinations,
317 that allow quadbuffer stereo ("stereo in a window"), NOT
318 splitscreen stereo (eg. "OpenGlVR").
319 Examples for hardware/software combinations with support for
320 quadbuffer stereo are graphicscards with support for shutter‐
321 glasses or "stereo cloneview" to connect beamers of a onewall.
322
323 -anaglyph glassestype
324 force expermential stereoview mode for use with colored anaglyph
325 glasses.
326 glassestype can be red_green, green_red, red_blue or blue_red.
327 This option uses the OpenGL accumulation buffer. This is not
328 hardware-supported by a lot of graphics cards/graphics drivers
329 and can result in miserable performance.
330
331 -eyedist eyedistinmeter
332 Distance between the two eyes of the viewer.
333 Default eyedistinmeter is 0.06, it can be negative to swap eyes
334 (no need to reconfigure your hardware if eye swapping problems
335 occure).
336
337 -screendist screendistinmeter
338 Distance between the eyes of the viewer and the mid of the moni‐
339 tor screen.
340 Default screendistinmeter is 0.8.
341
342 -fieldofview fieldofviewindegree
343 Overwrite Field of View field in VRML viewpoints and set to
344 fieldofviewindegree in degree.
345 Good stereoviewing may want need to ignore the fieldOfView field
346 of viewpoints. The fieldOfView of the human eye is about 18
347 degrees, the VRML default is 45 degrees.
348
350 The following options are only valid, if dune was compiled with match‐
351 ing inputdevice driver support (e.g. there is not support for a Linux
352 joystick under IRIX).
353
354 -joystick joystickdevice
355 Only valid under Linux or M$Windows.
356 Under Linux, joystickdevice is the device of a Linux joystick
357 (usually something like /dev/input/js0 or /dev/js0).
358 Under M$Windows, the joystickdevice is a number. Depending from
359 the M$Windows version, this number is either 0, 1 or a number
360 from 0 to 15.
361
362 -SDLjoystick joystickdevice
363 Currently only valid under MacOSX. The joystickdevice is a num‐
364 ber (e.g. 0, 1, 2, ...).
365
366 -spaceball spaceballdevice
367 spaceballdevice is the serial device connected to the spaceball
368 (usually something like /dev/ttyd2 or /dev/ttyS0).
369 Only valid if binary was compiled with libsball support.
370
371 -nxtdials usbdevice
372 This option support a dials like inputdevice made of mindstorms
373 nxt motors. Just attach a wheel or gear to each of 3 motors,
374 connect them to the brick and connect the brick to the computer
375 via USB.
376 This option is only valid, if white_dune was compiled with sup‐
377 port of the libusb library e.g. available under Linux.
378 usbdevice is the number of the mindstorms nxt brick connected
379 via USB (0 for the first nxt brick, 1 for the second nxt brick,
380 etc).
381 The -nxtdials option automatically set the wheel axisoption.
382
383 -xinput xinputname
384 xinputname is the devicename supported by the Xinput Protocol
385 (usually something like magellan or dialbox).
386 Valid on most Unix/X11 implementations.
387
388 -xinputlist
389 Print a list of Xinput devicenames that can be possibly used as
390 xinputname for the -xinput option and exit.
391 Valid on most Unix/X11 implementations.
392
393 -xinputlistlong
394 Print a list of Xinput devicenames with axis information and
395 exit.
396 Valid on most Unix/X11 implementations.
397
398 -aflock aflockdevice [ aflockoptions ] -tracker birdaddr -wand bir‐
399 daddr
400 aflockdevice is the serial device connected to the Ascension
401 Flock of Birds master transmitter (usually something like
402 /dev/ttyd2 or /dev/ttyS0).
403 Dune assumes the following configuration:
404 Multiple FOBs with single RS232 Interface to Host Computer (see
405 "The flock of Birds, Installation and Operation Guide, Stand‐
406 alone and Multiple Transmitter/Multiple Sensors Configurations",
407 Page 3 (chapter "Introduction"), Figure 2).
408 birdaddr is the adress of the Bird Unit of the magnetic head
409 tracker (-tracker) or "3D Mouse" (-wand) in the Fast Bird Bus
410 (FBB adress) as configured with the dipswitches on the Bird
411 Unit.
412 This program need to have the Flock of Birds configured in the
413 Normal Address Mode only (see Page 12, Figure 4 of the manual
414 decribed above).
415
416 -headnavigation
417 Use current transformmode (including rotations) when using a
418 headtracker.
419 Default without -headnavigation is using only the translation
420 mode. This default gives you a very natural reaction, when your
421 head moves, the virtual world moves, but if your head only
422 rotates, the virtual world stand still. With the headnavigation
423 option, the virtual world reacts to head rotations, depending of
424 the current transform mode. Be carefull when you use this fea‐
425 ture while talking to a audience. Talking cause small and fast
426 head rotations and will cause small and fast rotations of the
427 virtual world. Your audience may get a impression like in a
428 earthquake and is more in danger to get motion sickness.
429
430 -sendalways
431 Tell dune that the device sends (almost) always values. This
432 values will then not be interpreted automatically as transform
433 commands.
434 Automatically used for Ascension Flock of Birds device
435 (-aflock).
436
437 -dontcarefocus
438 Inputdevice actions dont care about the window focus.
439 This can be useful in situations, when you only work with one
440 dune window, e.g. when using a onewall.
441
443 -x|-y|-z|-xrot|-yrot|-zrot=[-][integer_axisnumber]
444 [,[factor][,[accel][,[wheel][,ignore]]]]
445
446 -all|-allxyz|-allrot=[factor][,[accel][,[wheel][,ignore]]]
447
448 -none=integer_axisnumber
449
450 -axes=max_number_axes
451
453 - used to swap sign of value from axis
454
455 integer_axisnumber
456 Integer with the number of the axis, that should be used for the
457 x y z xrot yrot zrot directions.
458 This number may not be greater than the number of axes of the
459 inputdevice.
460 The integer_axisnumber in the none option is used to disable
461 this axis.
462
463 factor Float with a multiplicator for the axes
464 The factors of the all, allrot and allxyz options are indepen‐
465 dend of the factors of the single axes.
466
467 accel Float with a expotential accelerator for the axes
468
469 wheel The string "wheel" means this axis of the inputdevice will not
470 deliver zero if released
471
472 ignore Float with the value (relative to the maximal value from the
473 device) which will be ignored (insensitivity)
474
475 max_number_axes
476 Number of used axes, one of (2,3,4,5).
477 This must be equal or less to the physical available axes of a
478 device. Main usage of this option is to disable bad designed or
479 mechanical defect axes e.g. when you wish, this axis on a joy‐
480 stick would not exist
481
483 This options are only valid for the Ascension flock of birds magnetic
484 tracking system.
485
486 -baud baudrate
487 Baudrate of the serial line communicating with the transmitter.
488 According to the flock of bird manual, the following baudrates
489 are valid for serial line communication: 2400, 4800, 9600,
490 19200, 38400, 57600 and 115200.
491 Default: 38400
492
493 -numbirds numberbirds
494 Number of "data delivering" birds attached to the transmitter
495 (e.g. not counting the transmitter itself, if it is a Extended
496 Range Controller (ERC)).
497 Default: 2 (tracker and wand).
498
499 -master birdaddr
500 Adress of the master transmitter in the Fast Bird Bus (FBB
501 adress) as configured with the dipswitches on the transmitter
502 unit.
503 Default: 1
504
505 -masterIsErc
506 Used to differ between configurations, where the master is a ERC
507 (Extended Range Controller) or not. If the master is not a ERC,
508 the FBB adress is the same as the FBB adress of the tracker or
509 the wand.
510 Default: not set
511
512 -hemisphere FRONT_HEM|AFT_HEM|UPPER_HEM|LOWER_HEM|LEFT_HEM|RIGHT_HEM
513 Hemisphere used. Sit on the antenna block (with the legs near on
514 the side of the text) to see, what is left or right 8-)
515 Default: RIGHT_HEM
516
517 -sync 0|1
518 Synchronise (1) or not (0) data output to a CRT (Monitor) or
519 your host computer.
520 Synchronisation is used to elimiate magnetic effects of a Moni‐
521 tor using the CRT sync cable.
522 Default: 0
523
524 -block 0|1
525 Set (1) or do not set (0) the FNDELAY flag to the filedescriptor
526 of the serial port.
527 Default: 0
528
529
530 -filter AC_NARROW | AC_WIDE | DC_FILTER
531 Enable different filters. Read the Flock of Birds manuals for
532 more information.
533 This option can be repeated to use multiple filters.
534 Default: no filter set, using filter set by Flock autoconfigura‐
535 tion.
536
537 -suddenchangelock 0|1
538 Allow (0) or disallow (1) setting of messured position and ori‐
539 entation when a sudden large messurement occure.
540 Default: 1
541
542 -calfile calibrationfile
543 Use a VR Juggler style file to calibrate position messurement.
544
545 -ignoresize delta
546 Ignore position jumps from flock bigger than delta. This is
547 much like suddenchangelock, but pure software based.
548 Default: 0
549
551 -tessellation integer
552 Set the default tessellation of NURBS and superformula based
553 parametric shapes to integer.
554 The meaning of tessellation decide how many edges are generated
555 in one direction.
556 A low default tessellation result in faster rendering of related
557 shapes with tessellation set to 0 inside the white_dune applica‐
558 tion, but can give a reduced view, so details of a shape may be
559 hidden.
560 If no -tessellation option is used, the default tessellation is
561 32.
562
563 -indirect
564 Forces indirect OpenGL rendering, even when 3D hardware render‐
565 ing accelleration is available. In case of possible 3D hardware
566 rendering accelleration this option can drastically slow down
567 the program.
568 This option is most usefull on machines with problematic graphic
569 drivers or halfbaken 3D desktop features like compiz.
570
571 -nogllist
572 Forces OpenGL to render without glList commands.
573 The use of glList commands can increase the rendering speed of
574 static objects (without morphing) dramatically.
575 This option is only usefull on machines with errors in glList
576 commands or insufficent memory on the graphics card, so the use
577 of glList commands would uselessly fail.
578
579 -hidestandardtoolbar
580 Hide the standard toolbar. This option is usefull on machines
581 with small displays.
582
583 -uninstall
584 Output information (if available) on the commandline, how the
585 white_dune application can be uninstalled and exit.
586 Under Micro$oft Windows it additionally clears all information
587 activly set by white_dune (under HKEY_CURRENT_USER) in the Win‐
588 dows registry.
589
590 -checkSimpleCyclicSceneGraph
591 A cyclic scenegraph is caused by a node, which contains itself
592 (in form of a USE command of itself) in its scenegraph branch.
593 Cyclic scenegraphs are illegal in VRML97/X3D, tools reading such
594 a file may loop infinitely or eat up all the memory and then
595 crash. Nevertheless some tools (or people) tend to generate
596 such cyclic scenegraphs. White_dune is able to detect one depth
597 cyclic scenegraphs, but the detection can result in a perfor‐
598 mance problem when loading huge VRML97/X3D files. Therefore
599 white_dune do not check for cyclic scenegraphs by default. If
600 white_dune loops infinitely or crashes after a long time while
601 loading a VRML/X3D file, a cyclic scenegraph shoud be supposed
602 and this option should be used.
603
604 -scriptHeaderC header
605 It is possible to use Script nodes in C source export. The url
606 field in Script nodes ships code from computer languages. If one
607 string points to a file (e.g. a java class file), this file is
608 executed to process events. Beside that, it is also possible to
609 inline source code below a header. The default header for
610 inlined code for the C source export is "c:". The VRML/X3D
611 standard do not restrict the usage of various programming lan‐
612 guages in the Script node.
613 This option changes this header to avoid name clashes with other
614 tools using the default header in a different context.
615
616 -scriptHeaderC++ header
617 It is possible to use Script nodes in C++ source export. The url
618 field in Script nodes ships code from computer languages. If one
619 string points to a file (e.g. a java class file), this file is
620 executed to process events. Beside that, it is also possible to
621 inline source code below a header. The default header for
622 inlined code for the C++ source export is "c++:". The VRML/X3D
623 standard do not restrict the usage of various programming lan‐
624 guages in the Script node.
625 This option changes this header to avoid name clashes with other
626 tools using the default header in a different context.
627
628 -scriptHeaderJava header
629 It is possible to use Script nodes in java source export. The
630 url field in Script nodes ships code from computer languages. If
631 one string points to a file (e.g. a java class file), this file
632 is executed to process events. Beside that, it is also possible
633 to inline source code below a header. The default header for
634 inlined code for the java source export is "java:". The
635 VRML/X3D standard do not restrict the usage of various program‐
636 ming languages in the Script node.
637 This option changes this header to avoid name clashes with other
638 tools using the default header in a different context.
639
640 -psn_???
641 Only valid under MacOSX.
642 Options starting with the string "-psn_" are generated by the
643 Aqua desktop under on some versions of MacOSX and are silently
644 ignored.
645
646 -exitPid pid
647 Only valid under MacOSX.
648 Needed for the Aqua desktop of MacOSX to kill the whitedune
649 starter program on exit.
650
651 -fn font
652 Only valid under Linux/UNIX/MacOSX.
653 Set the unix font. Check for valid fonts with the xlsfonts(1)
654 command.
655
656 -demomode timeout
657 This options is intended for running the program as eyecatcher
658 eg. on a fair.
659 The animation of a scene (e.g. Viewpoint animation) is started.
660 In case of input from the mouse (mouseclick), keyboard or a 3D
661 inputdevice, the animation is stopped an the user can navigate
662 through the 3D world.
663 timeout seconds after the last input, the animation is starting
664 again.
665
666 -fullscreen
667 Starts dune in full screen mode
668
669 -filedialogdir directory
670 Change to a specific directory before opening a filedialog.
671
672 -proto category protofile
673 Adds the VRML PROTO in the file protofile to the list of avail‐
674 able PROTOs in the create => proto menu in the category submenu
675 and exit.
676
677 -renderslower
678 This option uses a slower render mode.
679
680 --version
681 Print out version information and exit.
682
683 --copyrightdetails
684 Print out detailed copyright informations and exit.
685
687 In the 3D view, dune support the following mouse / keyboard commands:
688
689 Mouse Button 1 click:
690 Select objects/3D handlers (e.g. arrows or white boxes) under
691 the cursor (or under the top of 3D cursor in stereoview)
692
693 Mouse Button 2 click:
694 Additionly select white box 3D handlers under the cursor (or
695 under the top of 3D cursor in stereoview)
696
697 Mouse Button 1 drag:
698 Drag objects/3D handles around
699
700 Mouse Button 3 drag:
701 Select multiple 3D handles
702
703 CTRL-Mouse Button 1 drag:
704 Virtual trackball navigation
705
706 SHIFT-Mouse Button 1 drag:
707 Forward/backward navigation
708
709 CTRL+SHIFT-Mouse Button 1 drag:
710 up/down/left/right navigation
711
712 ALT-Mouse Button 1 drag: (SGI style)
713 Virtual trackball navigation
714
715 ALT-Mouse Button 2 drag: (SGI style)
716 up/down/left/right navigation
717
718 ALT-Mouse Button 1+2 drag: (SGI style)
719 forward/backward navigation
720
721 Navigation icon pressed-Mouse Button 1 drag:
722 Virtual trackball navigation
723
724 Navigation icon pressed-Mouse Button 2 drag:
725 forward/backward navigation
726
727 Navigation icon-Mouse Button 1+2 drag:
728 up/down/left/right navigation
729
730 In the route view, dune support the following mouse / keyboard com‐
731 mands:
732
733 Mouse Button 1 click to event socket of a node and drag to a matching
734 event
735 socket:
736 create a ROUTE connection
737
738 Mouse Button 1 click to nothing and drag:
739 cut a ROUTE connection
740
741 Mouse Button 1 click to a node and drag:
742 move node in the route view
743
744 Mouse Button 1 click to a node, hold Mouse Button1, pressing Page
745 Up/Down key
746 move node in the route view by one page (works only on correct
747 motif/lesstif implementations)
748
749 Information about other keyboard usage can be found in the toolbar.
750
751 Tips how to use dune can be found in the docs directory of dune
752
754 The export to source code is a mainly a export of the information (num‐
755 bers and strings) of the VRML/X3D scenegraph tree.
756 White_dune do not export something like C source with OpenGL commands.
757 The exported code is independend of any rendering engine, but should be
758 usable with any 3D API.
759 Additional code is needed to render the scenegraph with a 3D API. Cur‐
760 rently white_dune comes with only two sets of such additinal code for
761 the Java Monkey Engine (JME) and C/C++ OpenGL. This code can be used
762 as a model for writing code for additional renderengines.
763 The information of the scenegraph is written into a class/struct with a
764 name concatinated from the string of the prefix argument (default
765 "X3d") and the string "SceneGraph". The scenegraph class/struct is
766 filled with references to the different VRML/X3D commands ("nodes").
767 The name of the type of such a node is concatinated from the string of
768 the prefix argument (default "X3d") and "Node". Each node type contains
769 the data of the VRML/X3D node in variables named in the same way as the
770 VRML/X3D fields.
771 The following table shows the mapping from the VRML/X3D field type to
772 the C, C++ and java datatypes:
773
774 │ │ │
775 VRML/X3D datatype │ C datatype │ C++ datatype │ java datatype
776 ───────────────────┼──────────────┼──────────────┼────────────────
777 SFBool │ short │ bool │ boolean
778 SFInt32 │ int │ int │ int
779 SFImage │ int* │ int* │ int[]
780 SFFloat │ float │ float │ float
781 SFVec2f │ float[2] │ float[2] │ float[2]
782 SFVec3f │ float[3] │ float[3] │ float[3]
783 SFVec4f │ float[4] │ float[4] │ float[4]
784 SFRotation │ float[4] │ float[4] │ float[4]
785 SFMatrix3f │ float[9] │ float[9] │ float[9]
786 SFMatrix4f │ float[16] │ float[16] │ float[16]
787 SFColor │ float[3] │ float[3] │ float[3]
788 SFColorRGBA │ float[4] │ float[4] │ float[4]
789 SFDouble │ double │ double │ double
790 SFVec3d │ double[3] │ double[3] │ double[3]
791 SFTime │ double │ double │ double
792 SFString │ const char* │ const char* │ String
793 SFNode (***) │ X3dNode* │ X3dNode* │ X3dNode
794 │ │ │
795 MFBool │ short* │ bool* │ boolean[]
796 MFInt32 │ int* │ int* │ int[]
797 MFFloat │ float* │ float* │ float[]
798 MFVec2f │ float* │ float* │ float[]
799 MFVec3f │ float* │ float* │ float[]
800 MFVec4f │ float* │ float* │ float[]
801 MFRotation │ float* │ float* │ float[]
802 MFMatrix3f │ float* │ float* │ float[]
803 MFMatrix4f │ float* │ float* │ float[]
804 MFColor │ float* │ float* │ float[]
805 MFColorRGBA │ float* │ float* │ float[]
806 MFDouble │ double* │ double* │ double[]
807 MFVec3d │ double* │ double* │ double[]
808 MFTime │ double* │ double* │ double[]
809 MFString │ const char** │ const char** │ String[]
810 MFNode (***) │ X3dNode** │ X3dNode** │ X3dNode[]
811 (***) The "X3d" part of the name is the default, it can be replaced by
812 the string of the prefix argument.
813 For any MF* type field (and a SFImage type field) the number of int,
814 float etc. values in the array is stored in a variable of the X3dNode
815 struct/class composed from "m_", the name of the field and "_length" in
816 case of a C/C++ export. Java do not need such a variable, cause the
817 length of a array is always available as the .length component of the
818 array.
819
820 The scenegraph is a tree of nodes. The root of the scenegraph is (simi‐
821 lar to the white_dune internals) a VRML/X3D Group node named "root".
822 In a Group node, the contained nodes are attached via a field named
823 "children" of type MFNode.
824 For example imagine the following VRML file:
825
826 #VRML V2.0 utf8
827
828 Group
829 {
830 children
831 [
832 Group
833 {
834 }
835 Group
836 {
837 }
838 DEF NAME_OF_FOGNODE Fog
839 {
840 color 1 0.50000000 1
841 }
842 ]
843 }
844
845 If no prefix argument is used, the first node in a VRML/X3D file is
846 represended in the exported C source as "root->children[0]" in the
847 "X3dSceneGraph" struct.
848 If the first node in the VRML/X3D file is also a Group node and contain
849 three other nodes, the third of this nodes is represended as
850 "root->children[0]->children[2]" in the "X3dSceneGraph" struct.
851 If the third of this nodes is a Fog node, the "color" field of the Fog
852 node is represended in the exported C source as "root->chil‐
853 dren[0]->children[2]->color" in the "X3dSceneGraph" struct.
854 The type of the "color" field of the Fog node is SFColor. The SFColor
855 type is represented as a array of 3 floating point values in the C
856 source, used to store the red, green and blue part of the color.
857 So the green part of the fog color is represended in the exported C
858 source as "root->children[0]->children[2]->color[1]" in the "X3dScene‐
859 Graph" struct.
860 A C++ export would also use "root->children[0]->children[2]->color[1]"
861 in the "X3dSceneGraph" class.
862 A java export would similarly use "root.children[0].chil‐
863 dren[2].color[1]" in the "X3dSceneGraph" class.
864
865 There is a second way to access the fields of the Fog node.
866 In VRML/X3D it is possible to name nodes with a "DEF" command. The
867 string behind the DEF command ("NAME_OF_FOGNODE" in the example) also
868 occures in the in the "X3dSceneGraph" struct and can be directly used
869 to access the matching VRML/X3D data.
870 So the green part of the fog color is represended in the exported C
871 source as "NAME_OF_FOGNODE->color[1]" in the "X3dSceneGraph" struct.
872 A C++ export would also use "NAME_OF_FOGNODE->color[1]" in the
873 "X3dSceneGraph" class.
874 A java export would use similarly "NAME_OF_FOGNODE.color[1]" in the
875 "X3dSceneGraph" class.
876 A problem can occure, if the string behind the DEF command is a
877 reserved keyword in the target language. For example, the 3D modeller
878 wings3d often uses the DEF name "default" when exporting VRML97 files.
879 In this case, the DEF name will be renamed (e.g. to "default1") and a
880 warning would be written to standard error during the export.
881
882 Beside the access of node data directly, there are also 2 sets of call‐
883 backs to handle the data of a whole scenegraph (or a branch of it): a
884 set of callbacks to render the content of the scenegraph branch ("*Ren‐
885 derCallback") and a additional set of callbacks for other tasks
886 ("*DoWithDataCallback").
887 There are also callbacks to replace the functions, which per default
888 alltogether traverse the Scenegraph ("*TreeRenderCallback" and "*Tree‐
889 DoWithDataCallback").
890 The callback mechanism and the scenegraph initialization differs from
891 programming language to programming language.
892
893 C:
894 The scenegraph (default argument "X3d" for prefix) can be declarated
895 with
896 struct X3dSceneGraph sceneGraph;
897 and initialized with
898 X3dSceneGraphInit(&sceneGraph);
899 A callback function for any X3D node type (like Fog, Text, IndexedFace‐
900 Set etc.) has the declaration
901 void mycallbackFunction(X3dNode *self, void *data)
902 To access the fields of the X3D node, you usually cast the X3dNode
903 pointer to a pointer to the type build from the string of the prefix
904 argument (default "X3d") and the name of the X3D node type you access
905 with this callback (e.g. X3dFog, X3dText, X3dIndexedFaceSet etc.).
906 X3dFog *node = (X3dFog *)self;
907 X3dText *node = (X3dText *)self;
908 X3dIndexedFaceSet *node = (X3dIndexedFaceSet *)self;
909 etc.
910 With this variable "node" the fields the X3D node can be accessed.
911 To install the callback, simply assign you function pointer to "call‐
912 backFunction" to a variable build from the string of the prefix argu‐
913 ment (default "X3d"), the the name of the X3D node and the string "Ren‐
914 derCallback" or "DoWithDataCallback". E.g.
915 X3dFogRenderCallback = mycallbackFunction;
916 X3dTextDoWithDataCallback = mycallbackFunction;
917 X3dIndexedFaceSetRenderCallback = mycallbackFunction;
918 To run the Render or DoWithData functions with the scenegraph tree,
919 just use
920 X3dGroupTreeDoWithData(&sceneGraph.root, NULL);
921 Instead of using NULL, other data can be passed to the "data" argument
922 of the callback functions.
923
924 C++:
925 The callback mechanism is very similar to the C mechanism.
926 The main difference is the storage of the callback functions. While the
927 callbackfunctions in C are stored in global space, the C++ callback‐
928 functions are stored in the static part of the matching node type.
929 Instead of using
930 X3dFogRenderCallback = mycallbackFunction; // C
931 a C++ program would use
932 X3dFog::renderCallback = mycallbackFunction; // C++
933 In C++ there is no need to call a initialization function for "scene‐
934 Graph". A constructor is called when the
935 X3dSceneGraph sceneGraph;
936 declaration is used.
937 To run the Render or DoWithData functions with the scenegraph tree
938 "sceneGraph.render(NULL);" or "sceneGraph.doWithData(NULL);" is used.
939 NULL can be replaced by other data, that will be passed to the "data"
940 argument of the callback function.
941
942 java:
943 The java callback mechanism is a bit different, it is based on inheri‐
944 tance.
945 The callback function is part of a class, that extends a matching
946 class:
947 class MyCallbackClass extends X3dFogRenderCallback {
948 public void render(X3dNode node) {
949 The new class is used in the following example:
950 MyCallbackClass myCallback = new MyCallbackClass();
951 X3dSceneGraph sceneGraph = new X3dSceneGraph();
952 X3dText.setX3dTextRenderCallback(myCallback);
953 sceneGraph.render();
954
955 With the the -manyclasses option, the last line changes to "X3dScene‐
956 Graph.render();". The access to a node with a DEF command in the
957 x3dv/vrml file changes also to a static variable in a similar way.
958
959 Finally there are additional callbacks ("*ProcessEventCallback") to
960 process events distributed by VRML/X3D ROUTE commands.
961 A example: a usual animation of a moving Sphere, is driven by a event
962 from a TimeSensor node. There is a ROUTE command to send the event into
963 a PositionInterpolator node, which calculate the matching translation
964 of the Sphere. There is also a ROUTE command to send the translation
965 event to a Transform node.
966 In the source code export, the inputOnly/outputOnly events are stored
967 as usual variables. The functions used for *ProcessEventCallbacks
968 should read the inputOnly event variables and write the outputOnly
969 event variables.
970 Similar to the sceneGraph. render() function, there is a sceneGraph.
971 X3dProcessEvent() function.
972 During the source code export, white_dune searches for the node (and
973 similar nodes) with output events, but no input event.
974 The exported code calls X3dProcessEvent() with this first node of a
975 ROUTE. This should generate data in the outputOnly event variables of
976 this first node of a ROUTE.
977 By following the ROUTE, the exported code copies the data from the out‐
978 putOnly event variable of the first node to the inputOnly event vari‐
979 able of the second node of a ROUTE.
980 The exported code calls X3dProcessEvents() with the second node of a
981 ROUTE to create data in the outputOnly event variable of the second
982 node.
983 By following the ROUTE, the exported code copies the data from the out‐
984 putOnly event variable of the second node to the inputOnly event vari‐
985 able of the third node of a ROUTE.
986 And so on.
987 At the end of the ROUTE chain, X3dProcessEvent() should process the
988 inputOnly event varibles of the last node in the ROUTE chain.
989 In a simple example, the following X3DV file is exported:
990
991 #X3D V3.0 utf8
992 PROFILE Interchange
993
994 DEF Transform1 Transform {
995 children
996 Shape {
997 appearance Appearance {
998 material Material {
999 }
1000 }
1001 geometry Box {
1002 }
1003 }
1004 }
1005
1006 DEF TimeSensor1 TimeSensor {
1007 cycleInterval 5
1008 loop TRUE
1009 }
1010
1011 DEF PositionInterpolator1 PositionInterpolator {
1012 key [
1013 0
1014 1
1015 ]
1016 keyValue [
1017 0 0 0
1018 1 0 0
1019 ]
1020 }
1021
1022 ROUTE TimeSensor1.fraction_changed TO PositionInterpolator1.set_fraction
1023 ROUTE PositionInterpolator1.value_changed TO Transform1.set_translation
1024
1025 The most simple code, that could be used to implement this (exactly
1026 this) PositionInterpolator would be in C (with prefix "X3d"):
1027
1028 int PositionInterpolatorCallback(X3dNode *node, const char *eventName,
1029 void* extraData)
1030 {
1031 struct X3dPositionInterpolator *data = (struct X3dPositionInterpolator*)node;
1032 data->value_changed[0] = data->set_fraction;
1033 data->value_changed[0] = 0;
1034 data->value_changed[0] = 0;
1035 return 1;
1036 }
1037
1038 Just like the Render callback functions, the callback is used with
1039 X3dPositionInterpolatorProcessEventCallback = PositionInterpolatorCall‐
1040 back;
1041 The matching code in C++ is rather similar
1042
1043 bool PositionInterpolatorCallback(X3dNode *node, const char *eventName,
1044 void* extraData)
1045 {
1046 X3dPositionInterpolator *data = (X3dPositionInterpolator*)node;
1047 data->value_changed[0] = data->set_fraction;
1048 data->value_changed[0] = 0;
1049 data->value_changed[0] = 0;
1050 return true;
1051 }
1052
1053 The callback is used with
1054 X3dPositionInterpolator::processEventCallback = PositionInterpolator‐
1055 Callback;
1056 The matching code in java uses inheritance
1057
1058 class PositionInterpolatorCallback extends X3dPositionInterpolatorProcessEventCallback {
1059 public boolean processEvent(X3dNode node, String eventName) {
1060 X3dPositionInterpolator data = (X3dPositionInterpolator)node;
1061 data->value_changed[0] = data->set_fraction;
1062 data->value_changed[0] = 0;
1063 data->value_changed[0] = 0;
1064 return true;
1065 }
1066 }
1067
1068 The callback is used with
1069
1070 PositionInterpolatorCallback callback = new PositionInterpolatorCallback();
1071 X3dPositionInterpolator.setX3dPositionInterpolatorProcessEventCallback(callback);
1072
1073 The return value of the ProcessEventCallbacks (1/0 for C, true/false
1074 for C++/java) tells the event distributing system (VRML/X3D ROUTE com‐
1075 mands) if there is a generated event that needs to be distributed to
1076 the next VRML/X3D node or not.
1077
1078 It is possible to use a VRML/X3D Script node to process data in C, C++
1079 or java.
1080 Similar to inlined javascript/ecmascript code, the "url" field of a
1081 Script node contains strings with a header.
1082 The syntax of the code in C/C++/java is very similar to the code in a
1083 ProcessEvent callback. The only difference is the node name (Position‐
1084 Interpolator in the callbacks above). Each Script node in a VRML/X3D
1085 file has another set of events and fields. A Script node is useless
1086 without a DEF name, therefore the node name is replaced by the concate‐
1087 nation of the String "Script_" and the DEF name of the Script node.
1088
1089 If no -scriptHeaderC/-scriptHeaderC++/-scriptHeaderJava option is used,
1090 the Script node that replaces the PositionInterpolator in the examples
1091 above would be:
1092
1093 DEF Script1 Script {
1094 eventIn SFFloat float1_in
1095 eventOut SFVec3f vec3f1_out
1096 url [
1097 "javascript:
1098 // eventOut SFVec3f vec3f1_out //
1099 function float1_in(value) {
1100 // value SFFloat
1101 vec3f1_out = new SFVec3f(value, 0, 0);
1102 }
1103 "
1104
1105 "c:
1106 struct X3dScript_Script1 *self = node;
1107 self->vec3f1_out[0] = self->float1_in;
1108 self->vec3f1_out[1] = 0;
1109 self->vec3f1_out[2] = 0;
1110 "
1111
1112 "c++:
1113 X3dScript_Script1 *self = (X3dScript_Script1 *)node;
1114 self->vec3f1_out[0] = self->float1_in;
1115 self->vec3f1_out[1] = 0;
1116 self->vec3f1_out[2] = 0;
1117 "
1118
1119 "java:
1120 X3dScript_Script1 script = (X3dScript_Script1)node;
1121 script.vec3f1_out[0] = script.float1_in;
1122 script.vec3f1_out[1] = 0;
1123 script.vec3f1_out[2] = 0;
1124 "
1125 ]
1126 }
1127
1128 When you use a Script node in the Wonderland module export and the java
1129 code needs a extra "import" statement, create a special WonderlandIm‐
1130 portJava export data container node and add the import statement to the
1131 "code" field.
1132
1133 See the directories docs/export_example_c, docs/export_example_c++ and
1134 docs/export_example_java of the white_dune source archive for examples.
1135
1137 dune -nostereo
1138 start dune this way, if you have a stereo capable visual, but no
1139 shutterglases or other quadbuffer based technology.
1140
1141 dune -xinput magellan -allxyz=10,100,,0.0000002 -xinput dialbox-1 -x=0
1142 -y=2 -z=4 -xrot=1 -yrot=3 -zrot=5 -all=1000,,wheel
1143 starts dune with a magellan xinputdevice with factor 10, accel‐
1144 eration 100 and a ignore value of 0.0000002 on the xyz axes and
1145 a dialbox device with
1146 x axis = 0. axis
1147 y axis = 2. axis
1148 z axis = 4. axis
1149 rotation around x axis = 1. axis
1150 rotation around y axis = 3. axis
1151 rotation around y axis = 5. axis
1152 all axes use factor 1000 and all to not deliver zero if released
1153
1154 dune -joystick /dev/input/js0 -z=,3 -axes=3
1155 starts dune with a linux joystick, set acceleration of the z
1156 axis to 3 and disables the 4. (5., 6., ...) axis.
1157
1158 dune -xinput magellan -z=3 -xrot=2 -none=2
1159 starts dune with a xinput/magellan device, swapping axis number
1160 2 and axis number 3, with axis number 2 disabled.
1161
1162 dune -nxtdials
1163 starts dune with a mindstorms nxt usb device, all axes are auto‐
1164 matic handled as wheels.
1165
1166 dune -aflock /dev/ttyS1 -numbirds 2 -master 1 -wand 2 -tracker 3
1167 starts dune with a Ascension Flock of Birds. Master transmitter
1168 (a Extended Range Controller (ERC)) at FBB adress 1 is connected
1169 to the serial device /dev/ttyS1, use 2 Birds, one attached to a
1170 "3D Mouse" device at FBB adress 2 and one attached to a head
1171 tracking device at FBB adress 3.
1172
1173 dune -wonderland wonderland/modules -manyclasses Test.x3dv
1174 Exports the content of Test.x3dv as java source for wonderland
1175 0.5 to the directory wonderland/modules/exportX3dv/test.
1176 To compile the java source to a wonderland module wonder‐
1177 land/modules/exportX3dv/test/dist/test.jar change to the direc‐
1178 tory wonderland/modules/exportX3dv/test and use "ant" or "ant
1179 deploy".
1180
1182 $HOME/.dunerc
1183 default file to load/store settings
1184 (see DUNERC environment variable for more information)
1185
1186 $HOME/.dune_crash_*_*.wrl
1187 stores the vrml file in case of a crash
1188
1190 DUNERC filename to load/store details of dunes screen layout and
1191 settings of the "options" menupoint.
1192 If this filename is not writable, settings are only loaded, not
1193 stored.
1194 If DUNERC is not set, the file $HOME/.dunerc is used under
1195 Linux/UNIX/MacOSX or the registry under Micro$oft Windows.
1196
1197 DUNEDOCS path to documentation directory
1198
1199 LANG the first two characters of then environment variable LANG
1200 are compared to the ISO 3166 country shortcut of the supported
1201 languages. For example, if LANG is set to de_DE, german menu,
1202 dialogs and errormessages are used.
1203
1205 Dune, graphical vrml97 editor and animation tool
1206 Copyright (C) 2000-2002 Stephen F. White and others
1207 This program is free software; you can redistribute it
1208 and/or modify it under the terms of the
1209 GNU General Public License
1210 as published by the Free Software Foundation; either
1211 version 2 of the License, or (at your option) any later
1212 version.
1213
1215 Dune need valid vrml97/x3dv code to work, it can not load a invalid
1216 VRML97/X3DV file.
1217 White_dune can load XML encoded X3D files via a translator.
1218 Use the menupoint Options -> Input Settings... to configure a X3D/XML
1219 to X3DV translator.
1220 dune is software in development, it is not 100% free of bugs.
1221 Unsucessful crashes should be rare, lucky crashes allow to get back the
1222 data. (see "EXIT STATUS").
1223 Currently not all VRML97/X3D nodes are displayed (e.g. MovieTexture,
1224 NurbsSweptSurface or NurbsSwungSurface) or displayed correctly (e.g.
1225 Text or Viewpoint).
1226
1228 Exit status is 0 for sucessfull operation.
1229 Exit status is 1 if inputfile can not be sucessfully read or other ini‐
1230 tialisation error.
1231 Exit status is 2 in case of a X11 server crash.
1232 Exit status is 11 in case of a X11 initialisation error.
1233 Exit status is 97 in case one of the inputfiles is a VRML 1 file (the
1234 VRML 1 format is not supported).
1235 In case of a coredump/crash, the exit status can be undefined.
1236
1238 In case of a crash (e.g. X11 server crash or signal (coredump) in case
1239 of a internal error), dune tries to write it's contence to the file
1240 $HOME/.dune_crash_*_*.wrl. This works in most cases, but not if the
1241 internal data structure has been destroyed. When white_dune is
1242 restarted, the filename is shown in the "recent files" part of the pro‐
1243 gram menu.
1244 Intermediate files .dune* files (e.g. for preview) are only deleted
1245 when white_dune exits normally. In case of a crash, this files remain.
1246
1248 illegal2vrml(1), javac(1), java(1), Xvfb(1), xterm(1), FreeWRL(1), cos‐
1249 moplayer(1), cosmoworlds(1),
1250
1251 ISO/IEC 14772 ⟨URL: http://www.web3d.org/x3d/specifications/vrml/ ⟩
1252
1253 ISO/IEC 19776-2 ⟨URL: http://www.web3d.org/specifications/ ⟩
1254
1256 Stephen F. White and others
1257 See README file for details
1258
1259
1260
1261white_dune 0.99rc766 2017-09-20 dune(1)