An up-to-date look at free software and its makers

Projects on the Move


Shaping 3D objects with two-dimensional input devices is not easy. In this issue, we investigate how the K-3D project tackles designing a new user interface. Also, Towns triumphs, trouble at Debian, and good news.

By Peter Kreußel and Martin Loschwitz

The learning curve for Blender [1], the trend setter for high-performance, free 3D programs, can be steep due to its quirky interface. Buttons take users to most of the innumerable program functions. Controls are grouped by workflow phases, and users first have to click the tiny buttons shown in Figure 2 to choose which groups of controls to display. K-3D [2] uses easily accessible tabs to select tool categories (highlighted in red in Figure 1) giving the user more intuitive controls. The arrangement and grouping of tools in K-3D is based on the results of user surveys.

Figure 1: Although K-3D has been around for 13 years, it now has a new, clear-cut user interface based on usability tests that reflects current standards in graphics applications.

Figure 2: All-rounder: Blender is the most powerful open source 3D application, but its cluttered interface asks much of the user.

True to Nature

To model organic shapes, like a human hand, with as much detail as possible, the designers first use polygons to build 3D models, and break down the polygons further if needed. The final shape of the 3-D object is created by many minor changes to individual polygons.

Granular subdivision of the basic shape supports a work method that Joe Crawford compares with clay modeling: "It is important that tools for moving, rotating or scaling feel intuitive. And making sure that this happened was my main contribution to K-3D."

Tools are vital for designers, so K-3D puts them top left in the application window. Below the tools are the buttons that toggle the selection mode for these tools between object, point, edge, or surface mode. The keyboard shortcut positions ([1###] through [4###], and [Q] through [R]) reflect the button positions.

So users can manipulate 3D objects with a mouse restricted to two axes, K-3D uses a visual concept (Figure 3) like the one used by Maya, a tool for movie makers. Three colored axes or circles represent the axes of the coordinate system, or the rotational movement about an axis. Selecting a colored element restricts the movement, or scaling to the appropriate dimension.

Figure 3: In K-3D the most common operations in modeling, rotating, moving, and scaling use a sophisticated and interactive approach that makes it easy for newcomers to grasp the principles of visual design.

K-3D is for modeling only and relies on other tools to convert wire models into photorealistic rendered objects. The developers recommend Aqsis, a free implementation of the Renderman interface. The Renderman standard is a description language for 3D objects and scenes often used for CGI effects in movies. Besides Renderman-compliant renderers, K-3D also supports Yafray, which Blender integrates as a plugin, and Povray, the classic raytracing tool.

History

The typical workflow in 3D modeling often means that modifications to one object can be applied to other objects. In the simplest case, a designer might need to move multiple objects the same distance back. Of course any modeling program will let you select all of these elements, and move them, but what happens if you don't notice that you need to move another object the same distance back until later?

Your preferred software may not have an answer, but K-3D does: it saves any moves or other changes you make as separate objects in the Node-List (highlighted in green in Figure 1). And you can apply the same steps to other objects later.

The Node-History item below Node-List gives a sequential list of the changes applied to an object. You can remove or modify a modification operation in the object pipeline at any time. For example, if you need to move an object farther back, you can correct the move in the Node-Properties window. This approach is parametric modeling and just like K-3D, most professional CAD applications now use it.

Modeling is a creative process. Due to the complexity of working with a mouse in a 3D scene, things can easily go wrong, which makes a powerful undo feature more important. K3-D offers more than a single history timeline.In a browser, if you go back to a page you visited earlier, and click a link, you lose the subsequent history entries. The K-3D history function saves all document states. Subbranches stay in the Undo-Tree but are crossed out, as shown in Figure 1 (highlighted in yellow).

The K-3D Interface Designer

In the K-3D project, Joe Crawford is responsible for user interface development coordination. His company, Joetainment Enterprises, develops 3D graphics and animations, often using open source applications such as K-3D, Blender or Wings3D. Joe contributes his experience with various graphics and animation tools to the K-3D project. In his opinion, software development should reflect user needs, and not the other way round.

Conclusions

The current version of K-3D is 0.3.6. Although the project has been around for 13 years now, the parameteric approach is a fairly new addition. Work is still in progress, and sometimes unexpected things happen when you change historic parameters. For example, if you change the number of meshes on a cube after a number of deformation operations, the meshes you add will have the same rectangular shape as before the changes. Sometimes, the application simply crashes due to memory access errors.

In other words, K-3D is not a completely finished product, but the developers have a coherent approach to the interface and controls, based on a usability survey and testing, which adds a breath of fresh air to the difficult market of free 3D graphics programs.

Towns Confirmed as Debian Leader

A winner has emerged from the fight concerning payments to the Debian Release Manager by Dunc Tank: and the winner is, Project Leader Anthony Towns, for the time being at least, with volunteer helpers still discussing the salary issue. Financial support from Dunc Tank aims to give the Release Managers the freedom to work full time on the new release 4.0, alias "Etch". The quarrel broke out when Anthony Towns' initiative to internally finance the Release Managers failed.

When Towns "outsourced" the initiative to Dunc Tank, some developers accused him of trying to sneak controversial financing into the project through the back door. Some developers even spoke of Towns undermining the project, and called for the project to fire its leader. They also failed to understand why certain developers were to be paid for their work and others weren't.

An internal vote of some 1,000 Debian developers resulted in clear defeat for the anti-Towns camp. Of just 330 valid votes, 277 voters came down in favor of Towns. In a second vote, on a related issue, the Dunc Tank opponents took another blow to the chin with the majority of the developers confirming the DPL in office and officially wishing the Dunc Tank project success.

Money and Friendship

It is now known that Dunc Tank will be paying the two Release Managers US$ 6,000 a month. A new quarrel then arose concerning the sum in question. Again, some developers have announced that they will be cutting down work on Debian in favor of other activities.

The first results of this protest have now started to make themselves felt: Martin Schulze, who has put together the Debian Weekly News (DWN) free of charge thus far, does not understand why he should go on doing so.

In his blog, Schulze said that he spent one whole workday on each edition of DWN. This explains why there was only one Debian Weekly News in October, and it is hard to say if or when the next edition will appear.

In a posting on the Debian Devel Announce mailing list [5], Jörg Jaspert, another extremely productive Debian developer, pointed out the impact of Dunc Tank in other areas. He lists cases where developers have cut back their activities in the aftermath of Dunc Tank.

Good News

It may seem hard to believe, after all the quarrelling behind - and in front of - the curtains, but there is some good news. Andreas Barth [6] and Steve Langasek [7] both reported good progress towards the release in their blogs. When this issue of Linux Magazine went to press, only 57 critical errors remained. It really does look as if Debian GNU/Linux 4.0 will be taking off on time - although the project postponed the feature freeze due to a lack of bug-squashing progress. If Etch really is released in December, this will be the first release to actually keep to the schedule.

Video Conference

If you missed the Debian Developer Conference in Oaxtepec this year, you can use video conferencing to view the talks and workshops at home. The 19 members of the DebConf Video Team, comprising both official project members and volunteers, has now released the DebConf Video DVD with contributions in English and Spanish, and Debian Day activities. If you are interested in getting the DVDs, you can either download from the archives [3] or order the 3 DVD box set [4].

INFO
[1] Blender: http://blender.org
[2] K-3D: http://www.k-3d.org
[3] DebConf6 DVDs: http://meetings-archive.debian.net/pub/debian-meetings/2006/debconf6/dvd/pal/
[4] DVDs by mail: http://www.decadent.org.uk/cgi-bin/debconf-dvd-order.py
[5] Mail from Jörg Jaspert: http://lists.debian.org/debian-devel-announce/2006/10/msg00026.html
[6] Andreas Barth's blog: http://blogs.turmzimmer.net/
[7] Steve Langasek's blog: http://web.dodds.net/~vorlon/wiki/blog.html