Houdini: Magic Doesn't Just Happen

Side Effects Software pulls the Linux penguin out of its hat with a port of Houdini.

We all know about those movies with the
great special effects: The Matrix,
Armageddon, The X-Files
Movie, Godzilla, Lost In
Space. The list goes on and on. Up until now, most of
those effects have been done on SGI workstations. SGI has been a
leader in this field for many years. However, in the past few
years, a migration to low-end, low-cost, Intel-based PC hardware
has occurred. This migration has included Windows, the only OS
considered to work well on those Intel desktop computers. That
situation is about to change.

Side Effects Software
(http://www.sidefx.com/),
a graphics software company founded in 1987 in Toronto, Canada, is
porting its only product, Houdini, to Linux. This is big news in
the graphics world. Houdini is the software used to create many of
the stunning effects in the movies I just mentioned. To those in
the graphics arts world, this is the equivalent of Oracle, Corel or
Lotus porting to Linux. It gives credibility to the platform in an
area where it had been mostly a curiosity.

Linux has had a major role in a few movies in the past.
Darryl Strauss' article (LJ, February 1998)
about Digital Domain's Linux render farm for
Titanic proved that, but Linux hasn't been
used as the primary graphic artist's platform for these movies.
Like so many other industries, the film and video industries have
been using Linux as a server, a box off in the corner happily
crunching numbers or dishing out files over high-speed networks.
Now, Linux gets to take center stage on the desktop.

Side Effects' Houdini product is a complete 3-D solution,
encompassing modeling, compositing, lighting, particle systems,
texture management, rendering and animation features. Currently in
its third release, Houdini was one of the first modeling and
animation products to adopt a procedural approach to 3-D. Recently,
Houdini received an Academy Award for “Technical Achievement”,
presented to four of the company's original developers. Used by
companies like Digital Domain, Blue Sky/VIFX Studios and
Centropolis Effects, Houdini is a heavyweight in the film
industry.

Previously, Houdini has been supported only on SGI Irix
workstation class systems. They recently announced support for
Windows NT. The port to Linux comes at a time when many hardware
vendors are looking for reasons to bring their high-end graphics
cards into the Linux fold. Paul Salvini, Director of R&D at
Side Effects Software, talks of it as the “chicken and egg”
problem:

Doing a product like this for Linux required
hardware acceleration to make it really viable, but hardware
acceleration often requires applications in order to warrant
drivers to be written. From a graphics workstation point of view,
Linux isn't ready. There haven't been that many proper drivers for
hardware acceleration for OpenGL under Linux. There are a number
under development, but as far as state of the art, there aren't
that many in production. The reason is that there aren't any
applications pushing the need for these drivers. The applications
want the drivers; the drivers are looking for applications.

Linux is a viable, popular, rendering platform. Many houses
that formerly used SGI servers for rendering are moving to, or at
least considering, low-cost Linux platforms for their rendering
farms. This might be due to their familiarity with UNIX or concerns
with Windows NT stability or even if they just prefer not to have a
mixed UNIX/NT environment.

Upending Traditional Linux Development
Models

With Linux, most of the current software development is
driven from the bottom: what happens in the kernel drives what
happens with applications. Side Effects thinks, for the high-end
graphics market at least, this needs to be a bit different. Houdini
is an application, with low-level needs that aren't quite available
the way Side Effects wants them. Salvini said:

What will happen is the missing pieces underneath
will just naturally fill in—development is being driven from the
top of the software chain. This is an exciting change in the way
development happens for Linux.