ABOUT WHITE_DUNE
White_dune is a low level X3D/VRML97 tool for Unix/Linux/MacOSX and M$Windows.
It can read VRML97 and X3D files, display and lets the user change the scenegraph and fields.
Unlike most high-level tools, it's 3D preview is based on the lighting model of the VRML97/X3D standards.

White_dune is not complete yet, especially in the 3D preview window. But even if you do not see the node or field in 3D, you can graphically change the values.

White_dune is a simple NURBS/SuperFormula 3D modeller, but does not have serious tools to change polygon meshes (yet).
Polygon meshes can be created via conversion from Nurbs(Patch)Surface nodes or SuperFormula PROTOs or by "pure VRML97" export, but for some tasks you may prefer to work with a polygon mesh 3D modeller with VRML97 export and enhance the results (e.g. color, texture, lighting, animation, interaction....) in white_dune.


white_dune supports the X3D/VRML97 Inline node, which allows a workflow by using different tools together.

Beside zillions of closed-source 3D modellers with VRML97 export, there are free software/opensource 3D modellers with VRML97 (mesh) export:

white_dune can also export VRML97/X3D scenegraph data to C, C++ or java code ("X3D compiler").
Especially white_dune can be used as a simple to use tool to build interactive 3D for Open Wonderland.

Depending on hardware and software, white_dune can be an immersive VRML/X3D editor with support for stereoscopic viewing and support for 3D input devices.
Click here for more information

COPYRIGHT "white_dune" continues the work of Stephen F. White on the program "dune".
Dune (and therefore white_dune) is free Software under the GNU General Public License (GPL)
SYSTEM REQUIREMENTS
  • Using a 3D hardware-accelated graphics card with OpenGL driver support will speed up rendering dramatically
  • Most (but not all) OpenGL implementations require at least a color depth of 15 bits (32768 colors on the screen), but white_dune itself can also work with a 256 color display.
  • A half-baked 3D-desktop like compiz may not work properly with 3D hardware-accelated applications like white_dune (or may force such applications to use the software renderer). It may be a good idea to use a desktop switcher like CompizSwitch before starting white_dune.
WHAT IS X3D/VRML97? X3D (Extensible 3D) and its predecessor VRML97 (Virtual Reality Modelling Language) are the ISO standards for displaying 3D data over the web via browser plugins. They support animation, real-time interaction and multimedia (image, movie, sound). X3D additionally supports components like rigid-body physics, particle systems and programmable shaders. X3D/VRML97 can be used for scientific visualisation, Web3D games and much more. X3D and especially VRML97 can be written by popular programs like Maya, Catia, 3D Studio MAX (3ds Max), Cinema4D, Blender and others. VRML97 can be used in immersive enviroments like Powerwall, CAVE or HMD.

Here is an example of what can be done with VRML97 and can currently be displayed without problems with white_dune (VRML97 plugin or external viewer requiered).

Besides there being some "free beer" VRML browser/viewers available, there are also various free software/opensource VRML browsers/viewers:

  • FreeWRL supports a stereoscopic "toe in" view and HMD (Linux/MacOSX).
    You can download a white_dune-like input-device-driver for FreeWRL's "/tmp/inpdev" joystick input interface here.
    Click here for more information.
  • Xj3D is an X3D/VRML200x browser with VRML97 backward compatibilty (systems supported by java3D)
  • OpenVMRL/lookat contains a VRML parsing/display library/sdk (Linux/Win32/MacOS)
  • Kambi VRML game engine
Conformance to VRML97
(ISO/IEC 14772-1:1997)
  • White_dune is a VRML97 editor, not a VRML97 browser.
  • The incomplete 3D preview of white_dune will not pass the rules of conformance of a VRML browser for the foreseeable future.
    White_dune do not support sound, scripting or interacting with mouse sensors by itself (yet).
    White_dune renders nearly all visible VRML97 nodes, except MovieTexture and Fontstyle. Some fields like Extrusion/IndexedFaceSet.convex are not implemented yet.
Conformance to X3D
(ISO/IEC 19775-1:2008)
  • white_dune is not an X3D browser (yet).
  • white_dune is an X3D generator.
    It generates valid X3D files, but only if you do not load invalid VRML97/X3D files into it.
    White_dune (as a low-level tool) tries to write back any input without changing content ("TITO" principle: Trash In/Trash Out) and does not contain a foolproof X3D validator.
  • white_dune contains an X3D loader, but does not support all components/component levels.
  • Currently, white_dune misses the (correct) rendering of the following nodes for conformance to the X3D interchange profile:
    • MultiTexture
    • MultiTextureCoordinate
    • MultiTextureTransform
    • Viewpoint (moved by Transform nodes)
Contributers
(from copyright statements)
  • Stephen F. White (wrote dune-0.13, a full featured portable graphical VRML editor, the base of this program)
  • J. "MUFTI" Scheurich (changed about 137 of 154 source files and about 131 of 147 header files, added english/german documentation, fixed bugs and added some features like VR support (3D-inputdevices/stereoview)), X3DV export/import etc.)
  • Ian Lance Taylor (rclex.l, rcparse.y)
  • Patrick Powell, Brandon Long, Thomas Roessler, Michael Elkins (mysnprintf.c/h)
  • Chris Morley/OpenVRML (pngLoad.c/h and codebase of hull creation of NodeExtrusion::createMesh and supporting functions)
  • Kirk L. Johnson (gif.c/h)
  • Thiemo Seufer (initial debian packaging, modifications to port version 0.17 back to M$Windows)
  • Christian Hanisch (ColorCircle.cpp)
  • Kevin Meinert/VRJuggler (aflock.cpp/h)
  • J. Dean Brederson/I3Stick (aflock.cpp/h)
  • Herbert Stocker (modifications to port version 0.19 back to M$Windows, hint to save before crash on M$Windows)
  • Bart/VRMLSUCK (website design, black&white icons, keyboard shortcuts and original of example world)
  • Steve Baker/TUX_AQFH (Tux 3D Modell of the logo)
  • Aaron Cram/SAND Dune (DevIL support, "open in almost the same window", some bugfixes)
  • Maksim Diachkov (slackware Linux packaging, added russian translation of documentation)
  • John Stewart/ FreeWRL (base of NodeIndexedFaceSet::generateTextureCoordinates, base of rendering of Background sphere)
  • Sam Lantinga/ SDL (codebase of SDLJoystick)
  • Max Horn/ SDL (darwin/SDL_sysjoystick.c)
  • Thomas Rothermel (primitive to nurbssurface conversion, nurbsline revolve)
  • Philippe Lavoie/ NURBS++ (part of NurbsCurveDegreeElevate.cpp)
  • Harun Sentuerk (keyboardless usage preparation)
  • Markus Schneider (MacOSX droplet)
  • Martin Briegel (MacOSX droplet)
  • Jens Wilhelm (bugfixing and M$Windows related improvements)
  • Wu Qingwei (handles of Cylinder, Cone, Sphere and Extrusion, port of Extrusion rendering, port of Background sphere)
  • Roberto Angeletti (configurable point size patch, translated menu/dialogs and usage documentation to italian)
  • Satoshi Konno/cybergarage (codebase of cap creation of NodeExtrusion::createMesh)
  • Haining Zhi (translation of german tutorial to english language, experimental M$Windows inputdevices, inputdevice settings)
  • Free Software Foundation, Inc/gcc (lex string parsing rule)
  • orbisnap (patches to NodeExtrusion::createMesh)
  • Hubert Alwin Kaißer (VRML-CD (based on game knoppix 3.7) containing white_dune)
  • Dr. Guido Kramann (free motion capture VRML files)
  • Philippe Coval (debian packaging and related bugfixes)
  • Pawel W. Olszta (openglutfont.c/h)
  • The OpenGLUT contributors (openglutfont.c/h)
  • all freeglut contributors (openglutfont.c/h)
  • Spencer Kimball/gimp (images in lib/textures)
  • Peter Mattis/gimp (images in lib/textures)
  • Luigi Auriemma (reported two security problems)
  • Gilles Debunne/QGLViewer (Quaternion::Quaternion(Vec3f from, Vec3f to))
  • Leonardo Zide/LeoCAD (Util::convertLDrawColor2LeoCADColor, icon for LdrawDatExport node)
  • Janosch Gräf (libnxtusb part of nxtDials::nxtDials)
  • The Open Group (swSetFontPath() from xset)
  • Michalis Kamburelis (added documentation about rendering bugs)
  • Giacomo Poderi (some translation of italian menus)
  • Doug Sanden (XML parser/Windows scripts for X3D XML -> X3DV)
  • Francois Gouget (winres.h)
  • Stefan Wolf (libC++RWD Library)
  • Open Wonderland (files written by WonderlandModuleExport.cpp, Open Wonderland logo)
  • Jonas Tingaud (translation of french menus)
  • Guillaume Cottenceau (base of write_png_file() in WonderlandModuleExport.cpp)
  • Jasmin Heiermann (debugging of NurbsSurface.controlPoint vanish bug)
home