当前位置:首页 > 新闻资讯 > 科技生活 > 新闻
唱了多年的光线追踪,咋还普及不起来?
  • 2015/5/5 15:12:28
  • 类型:原创
  • 来源:电脑报
  • 报纸编辑:电脑报
  • 作者:
【电脑报在线】早在十多年前,业界基本就肯定了光线追踪这项技术对于3D图像质量的意义,但是到了2015年,也没有一款游戏真正使用了光线追踪。

所以从画质而言,目前游戏所采用光栅化,是无法和光线追踪相比的,如果就游戏的渲染技术要达到光线追踪的效果,那么设计人员都要按照真实物理规则去计算场景的反射和折射效果,这种工作量几乎是不可能完成的,对开发者而言实在不科学。那么用光线追踪来实现各种游戏反射效果会如何呢?光线追踪技术可以用算法控制整个3D场景中的所有反射效果。在光线追踪计算中,所有的反射效果都能被计算在内,就连漫反射和多次反射都不会漏掉。这样在画质上,光线追踪就能轻易秒杀目前游戏所使用的渲染技术。


采用光线追踪,台球的反射完全符合真实物理规则

光线追踪的死穴:超高的性能需求

那么新的疑问又出现了,既然光线追踪这么牛X,为什么游戏中不采用呢?这个答案很简单,因为光线追踪的性能要求实在太变态了!

 

事实上别说光线追踪,就是我们游戏中的各种贴图效果,要达到比较真实的水准,都需要大量复杂的运算,需要消耗显卡很多资源,这也是为什么游戏效果越出色,越逼真,对显卡要求越高的原因。

 

而要实现光线追踪,需要更为惊人的计算量。根据Intel的说法,要用光线追踪渲染出达到现代游戏的画面质量,同时跑出可流畅运行的帧数,每秒需要计算大概10亿束光线。这个数字包括每帧每像素需要大概30束不同的光线,分别用来计算着色、光照跟其它各种特效,按照这个公式,在1024×768这样的入门级分辨率下,一共有786432个像素,乘以每像素30束光线以及每秒60帧,我们就需要每秒能运算141.5亿束光线的硬件,而Intel两个并行的四核处理器每秒也不过只能处理大约800万束的光线。


目前售价在2000美元以上的光线追踪卡

此外,现代的游戏处理贴图时,很多时候是把预设的数据寄存在显存中,在需要的时候在拿出来即可。但光线追踪不同,由于基本和真实物理规则相同,所以计算光线时,每条光线基本没有关联性,无法在实时渲染时预设,这就需要直接读取内存或者显存,这么大的计算量对内存/显存的位宽和延迟都提出了巨大的要求。即使到了2015年,显卡的显存延迟应付光线追踪依然不够用。

 

在我们看到的大多数光线追踪演示中,无论是Intel早期用Larrabee跑Quake3,还是NVIDIA自己用顶级显卡做的演示DEMO,场景都非常小,而且帧速都不高。如果应用在大型游戏中,现在的顶级PC恐怕要跑到5fps都很吃力。

 

观点

游戏实现光线追踪还需漫长等待

现在回到我们文章初始的疑问,光线追踪无法普及完全是因为性能要求过高的原因。一方面它的确拥有最为真实且令人震撼的画质表现,但另一方面它的计算量又的确让家用硬件难以负荷。实际上,前几年还有公司专门研发光线追踪卡,但是这么几年下来,性能虽然比处理器和GPU都强,但在性能和成本上还是难应用于民用市场。Intel之前曾希望用Larrabee来实现光线追踪,结果这货难产……至于民用显卡市场,新一代的堆叠式显存或许可以解决性能和延迟的问题,但GPU核心依然很难达到光线追踪的性能需求(其实差得还很远很远)。至少在目前,我们还看不到主流游戏布局光线追踪技术的可能,我们能做的也只有等待——而且,这一等待将会是很漫长的!
本文出自2015-05-04出版的《电脑报》2015年第17期 A.新闻周刊
(网站编辑:shixi01)


我来说两句(0人参与讨论)
发表给力评论!看新闻,说两句。
匿名 ctrl+enter快捷提交
读者活动
48小时点击排行
论坛热帖