Houdini: 魔术并非偶然

作者:Michael J. Hammel
Houdini: Magic Doesn't Just Happen

众所周知,那些电影拥有出色的特效:《黑客帝国》、《绝世天劫》、《X档案电影》、《哥斯拉》、《迷失太空》。这样的例子不胜枚举。到目前为止,这些特效大多是在 SGI 工作站上完成的。多年来,SGI 一直是该领域的领导者。然而,在过去几年中,已经出现向低端、低成本、基于 Intel 的 PC 硬件迁移的趋势。这种迁移包括 Windows,这是唯一被认为在这些 Intel 桌面计算机上运行良好的操作系统。这种情况即将改变。

Side Effects Software ( http://www.sidefx.com/ ) 是一家图形软件公司,于 1987 年在加拿大多伦多成立,正在将其唯一的产品 Houdini 移植到 Linux。这在图形界是一则重大新闻。Houdini 是用于创作我刚才提到的电影中许多令人惊叹的特效的软件。对于图形艺术界的人士来说,这相当于 Oracle、Corel 或 Lotus 移植到 Linux。这在一个以前主要只是新奇事物的领域为该平台赋予了可信度。

Linux 过去在一些电影中发挥了重要作用。Darryl Strauss 的文章(LJ,1998 年 2 月)关于 Digital Domain 为 泰坦尼克号 搭建的 Linux 渲染农场证明了这一点,但 Linux 尚未被用作这些电影的主要图形艺术家的平台。像许多其他行业一样,电影和视频行业一直将 Linux 用作服务器,一个角落里的盒子,愉快地处理数字或通过高速网络分发文件。现在,Linux 将在桌面上占据中心舞台。

屏幕截图 1。

Side Effects 的 Houdini 产品是一个完整的 3D 解决方案,涵盖建模、合成、灯光、粒子系统、纹理管理、渲染和动画功能。Houdini 目前已发布第三版,是最早采用程序化 3D 方法的建模和动画产品之一。最近,Houdini 荣获奥斯卡“技术成就奖”,该奖项颁发给了公司四位原始开发人员。Houdini 被 Digital Domain、Blue Sky/VIFX Studios 和 Centropolis Effects 等公司使用,是电影行业的重量级产品。

以前,Houdini 仅在 SGI Irix 工作站级系统上受支持。他们最近宣布支持 Windows NT。Linux 端口的出现正值许多硬件供应商正在寻找理由将其高端显卡引入 Linux 领域之际。Side Effects Software 的研发总监 Paul Salvini 将其称为“鸡和蛋”的问题

为 Linux 开发这样的产品需要硬件加速才能使其真正可行,但硬件加速通常需要应用程序才能保证编写驱动程序。从图形工作站的角度来看,Linux 尚未准备好。Linux 下用于 OpenGL 硬件加速的适当驱动程序还不多。有一些正在开发中,但就最先进的水平而言,投入生产的还不多。原因是没有任何应用程序推动对这些驱动程序的需求。应用程序需要驱动程序;驱动程序正在寻找应用程序。

Linux 是一个可行、流行的渲染平台。许多以前使用 SGI 服务器进行渲染的公司正在转向或至少考虑使用低成本 Linux 平台来构建渲染农场。这可能是因为他们熟悉 UNIX,或者担心 Windows NT 的稳定性,或者仅仅是因为他们不喜欢混合 UNIX/NT 环境。

颠覆传统的 Linux 开发模式

对于 Linux,当前的大多数软件开发都是从底层驱动的:内核中发生的事情驱动着应用程序中发生的事情。Side Effects 认为,至少对于高端图形市场而言,这需要有所不同。Houdini 是一个应用程序,它具有 Side Effects 所期望的、尚未完全可用的低级需求。Salvini 说

将会发生的是,底层的缺失部分将自然而然地填补——开发是从软件链的顶端驱动的。这对于 Linux 的开发方式来说是一个令人兴奋的改变。

动机

Side Effects 希望通过提供应用程序来尽自己的一份力量推动事情向前发展。通过提供 Linux 解决方案,他们认为他们可以为客户提供两全其美的方案:低成本的基于 Intel 的平台和熟悉的 UNIX 环境。此外,拥有内核源代码为特效公司(这些公司往往有非常技术性的需求)提供了进行他们可能无法执行的修改的机会。

屏幕截图 2。

他们考虑进行移植的部分原因是许多特效公司对基于 Linux 的 Houdini 表现出的兴趣。“暂定”的兴趣是考虑到缺乏工作站级硬件支持(即 OpenGL 硬件加速),但 Side Effects 认真对待这些请求,并认为他们可以通过提供方程的应用程序方面来帮助推动进程。

尽管他们没有任何实际客户注册移植版本——只有客户表示对移植的可能性感兴趣——并且即使没有令人满意的 3D 硬件加速可用,Side Effects 仍觉得他们必须推进该项目。Salvini 先生告诉我

我们这样做在很大程度上是因为我们认为这是正确的事情。如果你不提供能够利用硬件加速的应用程序,那么光是抱怨没有人开发出适当的硬件加速就有点虚伪了。你必须言行一致,并付诸行动。

移植

在开始工作之前,Salvini 说 Side Effects 与 Digital Domain 的 Darryl Strauss、Xi Graphics 和 Metro Link 讨论了 X 服务器供应商可能提供的硬件支持。最初,他们从 XFree86 开始,然后转向 Xi 的 AcceleratedX,以利用对覆盖平面的支持,这是当时 XFree86 和 Metro Link 都不支持的功能。覆盖平面使他们能够通过不必不断重绘屏幕的各个部分来加快显示速度。然而,对 Xi 服务器的依赖是暂时的,因为其他供应商都在开发覆盖平面,而且 Houdini 对它们的需求也不大。事实上,Side Effects 可能会提供一个无需覆盖平面即可工作的 Houdini 版本。缺点是性能会受到影响,但该程序仍然与支持覆盖平面的版本完全兼容。

由于保密协议,Salvini 无法透露他们正在关注哪些 3D 显卡。他确实说过,在 NT 移植版本中,他们曾与 IBM 和 Intergraph、3-D Labs、Diamond Multimedia 和 Accel Graphics 合作。Intergraph 为 IBM Intellistation 提供了他们的 Intense3D,也称为 Wildcat 4000 显卡。他说,所有这些供应商对该端口的响应都非常好。由于所有这些显卡制造商都对 Linux 环境表现出不同程度的兴趣,因此人们只能想象他们对即将发布的 Linux 硬件公告的参与程度(如果有的话)会是怎样。

除了硬件加速之外,移植团队必须处理的其他问题对于过去做过 UNIX 到 UNIX 移植的人来说很容易识别:套接字、共享内存工作、clone 与 fork/vfork。这些是从 IRIX 将应用程序移植到另一个 UNIX 平台(或反之亦然)时遇到的典型问题。从所有实际目的来看,Linux 在这方面非常适合 UNIX 市场。

至于实际工作,Side Effects 能够利用他们已有的所有工具。Salvini 告诉我

关于 Linux 的好处是,我们确实需要的工具——例如用于调试和内存检查的工具——都是免费提供的,而且我们已经对那里发生的事情有了很好的了解。

即便如此,显然也花了相当长的时间才使所有图形组件协同工作,因为他们“总是下载最新的这个或那个”。

Salvini 不会将其称为从 SGI 版本“轻松移植”,因为他们在性能问题上做了一些棘手的事情,但他确实说过,两位工程师花了大约五周时间才完成这项工作:“比移植到 NT 花的时间少,但仍然比我们希望的时间长。”

最初,移植实际上是作为一件有趣的事情来做的,他们认为这可能是他们可以在一个周末完成的事情。当我指出,即使使用 Linux,对于大多数软件包来说,“周末移植”仍然有点像圣杯时,我们都笑了。

准备就绪

目前,主要的图形工作已经完成,但音频和 MIDI 支持尚未完成。MIDI 是产品中相当小的一部分,但他们仍然希望尽快完成它。不幸的是,UNIX 音频接口相当不规范。开发人员正在考虑使用开放声音系统作为标准化音频端口的一种可能方法,但尚未在该领域做出任何决定。

Linux 移植版本实际上已准备好交付,除了小的音频问题外,但他们正在等待合适的许可证管理器。Houdini 将在该工具准备就绪后进入 beta 测试阶段。由于该项目的尖端性质,他们认为他们无法使用任何可用的许可证管理器,因此他们可能会选择内部构建一个。

Linux 机器上缺乏硬件加速意味着它在性能上无法与 IRIX 机器相提并论。但在其他方面——渲染、简单着色、线框预览——Linux 表现相当不错。Salvini 说

即使缺少硬件加速,它也出奇地好。我迫不及待地想看到最后一块拼图完成,届时它将成为一个令人惊叹的平台。

Houdini 大量使用了 OpenGL,正如 Paul 指出的那样

我们将成为 Linux 上供应商对 OpenGL 进行良好测试的工具。

尽管 Houdini 主要用于电影,但日本的一些游戏公司也在使用它。这是 Side Effects 正在推动加强 Linux 支持的地区之一。他们还参与了一些科学可视化甚至少量工业设计,这两个领域目前在 Linux 市场上严重代表性不足。

许多特效工作室在其工作中使用多个软件包,一个用于建模,另一个用于动画,另一个用于特效,另一个用于合成。最终,您会希望看到所有这些工具都适用于 Linux。最困难的将是像 3D Studio Max 这样的工具,因为它专为 Windows 平台设计,这与许多其他起源于 UNIX 世界的工具不同。然而,像 3D Studio Max 这样的工具对于 Linux 上的图形艺术界非常重要,因为它们是中端工具,许多人从中开始。SoftImage 和 Alias/Wavefront 将更容易移植,因为它们习惯于 UNIX 和 X 环境。SoftImage 归 Avid 所有,但最近都没有人谈论 SoftImage 和 Alias 产品是否适用于 Linux 平台。

许多硬件供应商都知道 Side Effects 的移植工作,但 Paul 与这些供应商签订了保密协议,无法谈论他们的计划。与 Side Effects 交谈过的大多数软件供应商都向他们询问了移植情况——他们想知道 Side Effects 知道哪些他们不知道的信息。其中大部分与硬件加速相关的问题有关。这是许多应用程序供应商正在等待的关键。像公众一样,其他供应商将不得不等到工作站、显卡和 X 服务器供应商开始发布他们自己的公告。

Side Effects 对开源的看法

Salvini 说,Side Effects 的开发人员和管理层已经多次谈论过开源

Netscape 的某人写了一篇关于开源的商业案例以及如何从中赚钱的精彩文章。

他们以前从未接触过开源,但这让他们开始思考这个想法,尽管没有发布 Houdini 的所有组件。这个概念引发了很多“假设”的问题,但到目前为止,还没有超出这个范围。然而,他们显然对这个想法很感兴趣。

Side Effects 确实以传统意义上的方式提供源代码访问,通过开发人员工具包允许访问头文件和库,但核心仍然是专有的,部分原因是他们担心保持产品一致性。他们确实相信他们通过插件接口提供了可扩展性。Salvini 说,对于像 Houdini 这样的高级应用程序,访问核心代码不如访问操作系统源代码那么重要。

Paul 认为 Side Effects 实际上没有人在家中使用 Linux,尽管可能有一个人有。事实上,他说他们的大多数开发人员甚至没有在家中使用系统。显然,他们下班后有自己的生活。我不禁想知道那会是什么样子。

企鹅已经亮相

尽管 Houdini 移植到 Linux 对于像我这样的图形爱好者来说是重大新闻,但不要期望跑到 CompUSA 的货架上拿起一份 Houdini。Houdini 的单座许可证大约为 17,000 美元,开发人员工具包额外收费 4,000 美元。这是面向专业组织的高端软件。

考虑到如此高的价格,我询问了 Paul 对更实惠的建模软件包 Blender 的看法,Blender 已经拥有了大量的追随者。他回答说

这两者无法比较。它们真的不是同一类产品。我没有玩 [Blender] 足够长的时间来公正地评价它,但显然它的价格点是这样的,人们将能够从个人开发层面利用它,即,尝试使用图形工具。你不会用 17,000 美元的产品做这件事。

与 Blender 不同,Houdini 是一款需要用户投入一定程度的认真承诺才能证明其费用合理的产品。

然而,Houdini 移植的消息之所以重要,更多的是因为它所代表的意义,它赋予了 Linux 在桌面图形市场中的可信度,而不是所生产的产品本身。Salvini 告诉我时是对的,

这篇文章不是关于试图向读者推销 Houdini——它的价格不适合普通用户——而是关于 Linux 在高端图形工作站市场中的发展。Side Effects 一直在朝着这个方向大力推动硬件供应商,我感觉我们将在明年看到一些巨大的成功,将 Linux 带入图形工作站市场,而到目前为止 Linux 实际上还没有进入这个市场。

他是对的。现在 Houdini 已经迈出了这一步,事情确实即将改变。

Houdini: Magic Doesn't Just Happen
Michael J. Hammel (mjhammel@graphics-muse.org) 是一位渴望成为图形艺术家的作家和软件开发人员。他在地球上漫无目的地游荡,寻找冒险、宁静的海滩以及逃离主宰他生活的计算机。
加载 Disqus 评论