Java Duke Models for Art Of Illusion Raytracer

On Nov. 13th 2006, Sun (now Oracle) announced that Duke would become Free Graphics, just as the implementations of Java ME and SE became Free Software.

What does “Open Source Duke” mean? It means all you Duke fans have the original mascot for Java technology to play with. With your creative designs, you can give Duke a personal touch. See how Duke fares trying new pastimes such as hiking, base-jumping, skiing, Sudoku, or scuba-diving – or get Duke nationalized by adding your favorite flag.

Duke was originally created Joe Palrang to be the “agent” for the Green Project at Sun. Duke became the Java mascot when Java technology was first announced, right around the same time that the first Java cup logo was commissioned.

More information about the history of Duke can be found on the official Duke project page: A lot of different Duke bitmap pictures and vector drawings are available at

Unfortunately, there are no handy 3D models for FOSS applications available on the project site, so I decided to convert them into a format that was easier to use. I choose Art Of Illusion as renderer and, as the original files, the AoI meshes are free to use (BSD license, see Duke project page).So here are 3 different AoI Scenes that you can use as base for new creations:

Models: The base Duke / Duke waving / The Duchess (see :-) – Available in the GitHub repository.

Quick start: Install AoI, open one of the files, CTRL+R, Enter, enjoy your first picture :)

The Duke mesh coloring is realized via the “body_mapping” (Procedural 3D) texture. The mesh and the texture are linked using three Texture Parameters (‘white’, ‘red’, ‘black’ – default). When you remove the texture from the mesh, the parameter values are reset within the mesh object. By this, when you re-select the same texture, all values are 0 and the Duke appears in black. In this case, you need to re-select points and attribute the respective color by setting one of the parameters to 1.

Here an animation I did for the Brussels JUG:

And here some results:



Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.