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.

Screen Shot 1.

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.