White_dune

White_dune is a free (GPL) Cross-Plattform (Linux, FreeBSD, MacOSX, Microsoft Windows, Rasberry PI) 3D-modeller and animationtool.

With white_dune you can create/change 3D objects and animate them. The result can be shown in any webgl enabled web browser or can be converted to the RIB format for movie creation or can be complied to a usual C or C++ OpenGL-rogram.

Installation and configuration

In Dezember 2019 white_dune was included into Fedora Linux 32 (Installation with "dnf install wdune wdune-docs").
For Ubunutu Linux-Distributionen there is a "snap" Package.
In Debian und Ubuntu there is a white_dune-Package available, that is totally deprecated.
There are packages with installation instructions on the white_dune homepage available for the following Linux distributions: The configuration in white_dune takes place via dialogs in the "Options"-menu, which end up in Linux in the text file $HOME/.dunerc after the end of the program.

Internally, white_dune uses the ISO standard X3D/VRML97 as the storage format. Via Options white_dune can be changed from the English language into the German (or Italian or French) language
Under Linux white_dune comes with 2 Icons:
With the 4kids-version let you generate (with some practice) the animation of the following screenshot in 15 minutes.

There are Tutorials, hoe white_dune can be used in 3D modeling and animation.

History

White_dune did not start with the claim to be a tool for 3D modeling and animation, but was initially a special tool for VRML97 3D files.
In 1999 the Canadian Stephan F. White laid the most important foundations of the program, but gave up in 2000.
On May 31, 2000 it was decided to fork the project under the name "white_dune".
Since then, it has been massively expanded.

Modelling

White_dune has 8 main modelling features:

Animation

White_dune has 2 Animation-Possibilities:

Movie creation

When there is a X3D-Datei with a animation, you can use

$ run_dune_and_aqsis.sh datei.x3dv

to call white_dune and the free Renderman movierenderer "aqsis" in a way, that the pictures are accounted in paralell.

If the program "mencoder" is available (e.g. under Ubuntu oder Debian Linux), a movie-file "datei.mp4" would be created.

If not, "aqsis" creates many picure files, which an be viewed with imagemagicks "animate":

$ animate -alpha off datei*.tiff

Comparision with Blender

white_dune and the graphics performance of a system

White_dune is a real-time 3D program.
The ease of use depends on the graphics card and the number of used objects. If the graphics card is overloaded, the objects are jerky in animation and it becomes difficult to edit, move or rotate an object.
A (NURBS) object in white_dune has 3658 polygons.
Unfortunately there is a problem with the open source driver for Linux NVIDIA graphics cards (noveau driver): certain graphics card models sometimes freeze hard. Then you have to use the special Nvidia driver to install the graphics card.

The following table shows the limit up to how many objects (without morphing) can still be represented as reasonably runny:

GraphicscardClassSystemSystem-frequencyNURBS-Objects
PowerVR GX62501ARM Chromebook4x2.0 GHz1
ATI Radeon HD 62902ADM C-60 Netbook2x1.0 GHz1
Intel HD Graphics 30002Intel I5 Laptop4x2.5 GHz11
VideoCore VI2Raspberry PI 44x1.5 GHz10
Nvidia NVS 5200M3Intel I7 Laptop8x2.2 GHz16
Nvidia GT 3203Core2Duo Macbook4x2.4 GHz24
There are faster Systems...

Class:
1:no 3D-Graphics-driver(anything has to be accounted by the CPU)
2:Integrated Graphics(Shared Memory Graphics)
3:Dedicated Graphics(memory on the graphicscard is only used by the graphicscard)
Obviously, a better graphics card is for graphics performance more important than the CPU.

What to do if it stutters because the graphics performance is insufficient ?

Start white_dune with the option "-tessellation"
e.g. "$ dune -tessellation 16 -4kids datei.x3dv"

white_dune for children

White_dune "4kids" was used for children's computer animation projects.
For example, a small animation of an alien spaceship landing was made on two afternoons in the Leonberg "Stadtranderholung" in 2006/2007.

The children were between 7 and 13 years old.

white_dune and human animation

White_dune supports as X3D Editor all visible X3D Befehle including "HAnim" (human animation).


With the "makehuman"-program (a Blender-enhencement) a configurable mesh of a human can be created. You have to take care, that only relative few Mesh-points are exported.
The mapping of single meshpoints to body-parts (e.g. arm or feet) is made in white_dune, but this alot of work. At the end, the single joints can be rotated, so you can create an animation.

How can i support the development of white_dune ?

The white_dune menues are available in englisch, french, italian and german Into portugenese only the "4kids"-menue has been translated. The Dialogs are partitialy translated, only the german and english dialogs and error-messages has been full translated.

For the translation, you need not to be a programmer, cause Micro$oft Resource-Files are used. This means, that Words/Sentences a enclosed in "double quotes".

If you have a problem with white_dune (or a new idea), you can send a email to:
[email protected]

white_dune has ca. 300 000 Lines in C++/C/.h/.m4-file, it is a relativ big program.

Intern white_dune uses a 2D-GUI-API in the Programmierlanguage C namend "libswt" (i think it should mean "Stephan White Toolkit").
Under Linux, motif and OpenGL 2 is used.
This is a bit oldfashioned.
The big advance of it, is that only one patch has been need to written cause of a API change.
The Patch was cause of lesstif, a Open-Source-clone of motif. Now is motif for Linux available under a open-source-licence, so lesstif is not developed anymore.

When white_dune crashes, it trys to rescue the X3D-data in a file.
This only works, if the internal datastructure is still intact, e.g. at a crash in the graphics code.
white_dune under Linux usually calls a "rcs" (newer versions: "git") revision-contol-system-command. Afterwards, all changes to an X3D file can be made understood and a specific version from the repository can be restored.
This is a very important feature, if you work with children.