革命性光线追踪技术CausticGT小试下

互联网 | 编辑: 周颉 2009-04-21 11:30:00转载 返回原文

一个多月前,美国洛杉矶的新兴3D计算图形公司Caustic Graphics宣布在光线追踪加速技术领域取得重大突破,其第二代新技术的处理速度可达当今顶级桌面显卡的200倍之多,一时间引发了业界浓厚的兴趣,不过当时一切都停留在纸面上,也招致了不少质疑。

一、光线追踪加速卡硬件

一个多月前,美国洛杉矶的新兴3D计算图形公司Caustic Graphics宣布在光线追踪加速技术领域取得重大突破,其第二代新技术的处理速度可达当今顶级桌面显卡的200倍之多,一时间引发了业界浓厚的兴趣,不过当时一切都停留在纸面上,也招致了不少质疑。

Caustic Graphics公司由来自苹果的James A.McCombe、Luke Peterson、Ryan Salsbury在2006年共同成立,其中James担任首席技术官。这位OpenGL世界的三号人物于2001年加盟苹果公司,当时Mac平台上基本还没有3D技术支持。之后的几年里,他设计了Mac平台上的OpenGL软件堆栈,并帮助开发了片断着色(Fragment Shading)语言,还参与了高级着色语言(HLSL)的规范制定工作,后期主要从事iPod、iPhone方面的工作。

在成立新公司之前,三位创始人花了八个月的时间建立起光线追踪模型、试验新算法,才将此确定为未来的发展方向,并默默工作了将近三年才公布自己的成果。现在我们就来看看他们所研发的软硬件及其背后的技术细节。

一、光线追踪加速卡硬件

这是提供给开发人员和独立软件开发商(ISV)的第一批硬件样品“CausticOne”,供他们在“CausticRT”平台上测试、编程和设计之用。该卡采用PCI-E 1.0 x4接口,两块黑色散热片下边就是两颗传说中的“光线追踪处理器”(RTPU),其实都是简单的FPGA(现场可编程门阵列),运行频率100MHz,每颗搭配自己的一条64-bit DDR2 SO-DIMM内存,另外蓝色散热片之下是PCI-E桥接芯片,总功耗约20W。

而实际零售上市的加速卡将是“CausticTwo”,使用自行设计的ASIC(专用集成电路),频率350MHz,计算能力是CausticOne的四倍,而且改用PCI-E x16接口来获得更大带宽,不过整体仍是简单的单插槽散热设计。上市时间?大概在“2010年初”。

非常有趣的是,不但可以在一块加速卡上放置两颗RTPU处理器进行协同工作,还能在一套系统里使用多块这样的加速卡来进一步提升计算性能,就像SLI和CrossFire。

光线追踪处理器(RTPU)这个新概念也许会让很多人产生一些反感,毕竟我们已经有了中央处理器(CPU)、图形处理器(GPU)、物理处理器(PPU)、加速处理器(APU)、网络处理器(NPU)、人工智能处理器(AIPU)等一系列名目,不过James多次强调,他们原本无意制造硬件设备,只是在软件算法开发过程中发现,当前无论是处理器还是显卡都不能满足他们的需要,才不得不造出这么个东西。

二、CausticRT渲染流程

整个过程大致可分为三部分:最底层是协处理器CausticOne,之上是软件开发层“CausticGL”,基于OpenGL ES 2.0、GLSL和Caustic扩展,然后就是渲染器“CausticRener”,由一些高级渲染API和组件构成。

首先需要特别指出的是,RTPU处理器是专门负责处理光线追踪渲染的,标准的着色渲染等工作依然由显卡和处理器承担。(也就是说,等到今后显卡性能足够强的时候,理论上可以将其集成进去,就像NVIDIA把PhysX物理引擎放到了GeForce显卡里。)

出于保护知识产权和商业机密的原因,Caustic Graphics没有透露所研发新算法的内部机密,简单地说能够从看似杂乱无章的光线追踪里寻找特定顺序,并大幅提高内存局部性(数据局部性),进而让光线追踪渲染效率有了突飞猛进。

Caustic Graphics宣称,他们找到了一种方法,可以通过专用硬件(RTPU)计算海量的光线路径,远非现有系统可及,同时仍能维持实时渲染效率;然后计算结果由软件传送给GPU,而且后者可以高效率地执行这些代码。换言之,CausticOne硬件利用自己的光线追踪算法接管了平常看起来随机混乱的着色结果并单独进行计算,然后CausticGL以GPU能够看懂的方式编译结果数据,再配合GPU的本职渲染工作,搞定。

Caustic Graphics还设计了一种算法,可以让RTPU根据从板载控制器获得的一种特定存储数据集来优化计算量,因此不需要超大规模存储带宽和容量,这也就是为什么只使用看起来非常可怜的64-bit DDR2 SO-DIMM的主要原因。

三、DEMO演示

说了这么半天,相信大家都已经迫不及待地想看看实际效果了。Caustic Graphics在一台MacPro上展示了一个实时渲染DEMO,其中只使用处理器进行着色计算,不用显卡。

DEMO中在威尼斯广场上放置两辆奥迪R8s,均由大约180万个三角形组成,周围环境只是陪衬,故而没有细致刻画,只是平滑的纹理贴图。画面在VGA 640×480分辨率下实时渲染,每像素光线数量、每条光线的反射次数、反锯齿效果、甚至着色器代码等参数都可以实时调整。

(关闭反锯齿)

(开启反锯齿)

演示要点:

1、摄像机运动的时候关闭反锯齿以提升渲染速度,但停止后恢复反锯齿。对比效果如上。

2、倒影之中可以看到更小的倒影,再往里还有更小的,理论上有无限层次。

3、汽车表面喷漆都是程序着色渲染而来的,不是简单贴图,DEMO里可以对其进行实时编辑。

4、DEMO最初的设定是每像素4条光线,此时渲染速度5-6FPS。增加光线数量会带来更好的效果,但是帧率会迅速降低。

5、可以通过一个着色器实现景深效果的程序模拟。

6、DX10.1特性之一环境光遮挡(Ambient Occlusion)被用在了汽车的角落里,同样是实时渲染。

7、可以实时拆卸汽车零部件,如拿掉顶盖或车门,并四处移动它们。

很遗憾大家不能亲自体验这个DEMO,但是可以看看下边这段视频,其中的场景包括500万个三角形(包括两辆汽车的360万个),所有可见效果都是使用一块CausticOne加速卡百分之百程序化光线追踪渲染而来的,实时帧率3-5FPS。

四、前景展望

Caustic Graphics的出现让我们很自然地想起了当年的Ageia,以及后者推行的PhysX物理加速技术和加速卡。Ageia的经营模式没有取得成功,在被NVIDIA收购后倒是掀起了不小的波澜,物理加速已经成为当前3D游戏行业的热门话题,AMD和Intel也都在纷纷开发各自的相应技术,不过我们必须承认,物理加速现在依然不够成熟,实际效果也是一般般,与其消耗的硬件资源不成正比,所以短期内仍只不过是个附加话题而已。

Caustic Graphics和Ageia看起来是如此相似,它的命运又会如何呢?是不是回走上同样的道路呢?看起来极有可能,不过别忘了光线追踪技术还有个更广阔、更赚钱的应用领域:专业图形工作站和企业级用户。从普通消费者和玩家的角度上看,光线追踪技术自然应该用于3D游戏,但对媒体与娱乐设计师、产品设计师、建筑设计师等专业人士来说,他们对光线追踪并不陌生,深深了解它的强大之处,这才是CausticRT平台的真正用武之地。如果能在很短的时间内把自己的汽车方案逼真地渲染出来展示给老板看,设计师怎能不兴奋?如果能在一套简单的平台上快速渲染出如真似幻的电影大片,好莱坞怎么能拒绝?

Caustic Graphics自然想到了这些,并且已经开始和Cinema4D、Autodesk、Blender Render等专业厂商合作,争取在他们的软件中加入对CausticRT的支持,还购买了拥有知名巴西渲染系统(Brazil Rendering System)的SplutterFish公司,以便更好地了解如何与软件开发商合作集成CausticRT和开发工具,充分发挥其软硬件的性能。这些对该公司的长期发展和成功非常重要。

当然你我们更希望看到这种新技术能在桌面上得到应用和普及,让我们拥有更真实的游戏体验,不过Caustic Graphics坦言,完全光线追踪化的游戏引擎还得等很多年,并估计至少四五年后他们的硬件才能在1920×1200分辨率下达到60FPS的有效帧率。

在行业竞争方面,Caustic Graphics声称他们的产品不是和处理器、显卡直接竞争的,但不知道NVIDIA、AMD、Intel怎么看。或许和Ageia一样,Caustic Graphics也会有一天归于三大巨头之一帐下,与其处理器/显卡产品融为一体。

哦对了,最后谈一下钱的问题。现在说实际零售产品的价格还为时过早,不过Caustic Graphics透露了一套CausticRT开发平台的代价:CausticOne加速卡、CausticGL软件堆栈、一年的固件和软件升级,总共需要大约4000美元。其实也不算贵,一块NVIDIA Quadro FX 5800专业显卡就得3000多美元呢。

返回原文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑