米老鼠和蓝精鼠v
发表于 2020-12-31 20:44
如果你只是想看看样子,PS4的新游戏已经用上了,如果是大规模应用,请等下代主机。
我是技术盲,只说一下大致的印象。
其实你不需要知道光线追踪是什么,因为实际上你也不知道现在采用的光栅化3D技术的原理,对吧?光线追踪的原理很好理解,屏幕上的每个像素都发出一束光去射击3D物体,遇到物体表面就把相关的信息叠加到光上。反倒是现在的光栅化技术很抽象,你可以认为是先把3D物体拍成一张照片,然后对这张照片上色,由于针对的不是3D物体本身,所以会发生很多奇怪的现象,这也是传统3D技术画面不真实的原因所在。
两者之间的关系类似于飞机和汽车,部分硬件能通用(发动机),但是因为运行原理完全不同,因此对硬件的需求重点也不同(比如,汽车发动机要求高扭矩,而飞机没有需求)。如果光线追踪发展到很成熟的阶段,就连部分硬件都不通用了(类似螺旋桨飞机进化到喷气式飞机)。
现在的3D显卡虽然已经普及了统一渲染构架,比原先的通用性高多了,但是仍然是一种特化硬件,如果在现在的显卡上走光线追踪,对CPU的依赖会非常大,这与显卡包揽一切的趋势是向背的。
目前实验阶段的光线追踪硬件都是FPGA,可以看成是一个功能没有被限制在光栅化,可以自由定制的原始显卡,要将其改为自由度很低的定制显卡才能提高光线追踪的效率。自然,真正的光线追踪显卡对过去所有的3D游戏都是不兼容的,这才是问题的关键。
以现在的技术,生产出一种高效的光线追踪显卡并不难,而且价格不会很高(现在光线追踪的低效都是因为没有使用专用硬件造成的),所以无法推广的唯一因素就是光线追踪技术根本没有需求。
3D显卡推广花了差不多10年吧,那时候没有的人就是没的用,而现在3D显卡的功能都已经与操作系统结合起来了,不可能统一换新。过去CPU的64位与32位之争,最后以兼容32位收场,因此黄老板他们也是走这条路。DX现在增加的双精度浮点运算等功能,都是为了在老式显卡上运行部分光线追踪程序而准备的。以后的显卡可能会彻底改变结构(就像显卡进化到硬件T&L还有统一渲染构架),同时支持光栅化和光线追踪。也可能在保留现有构架的前提下,增加一个专门负责光线追踪的特效模块,比如集成Caustic的RPU显卡。
微软所说的也是这种,可能只在水体反射之类的特效上使用,但是画面整体水平不会有飞跃,要知道现在大部分游戏连场景光照都是预渲染的,老技术还没普及,怎么可能跨代呢。
游戏厂商要部分引入光线追踪的难度不是很大,因为现在工作量最大的三维建模和贴图都可以沿用到下来。但是要彻底换用光线追踪,是否还会使用多边形技术就很难说了,或许真的要过渡到曲面?
光线追踪的发展还在很初级的阶段,现在的好莱坞电影CG主要还是依靠光栅化渲染的,光线追踪只是辅助手段。皮克斯直到汽车总动员才开始大规模使用光线追踪,而且还是部分应用。
多说一句,虽然光线追踪技术是热点,但是并不意味着它就一定是未来。游戏的生命就是实时性,所有低效的技术,无论效果多么好,哪怕不可替代,都注定会死亡。历史上曾经被看好的3D图形技术,10个中有9个都死了。90年代和多边形技术同时兴起的还有一种椭圆球体技术(ellipsoid),曾经被寄予厚望,但现在搞计算机图形学的人都没几个听说过它。
或许10年后再看,“在游戏中全面应用光线追踪”的想法只是一个历史的笑话也说不定。
这就是椭圆球体技术(ellipsoid),1996年的作品,借机缅怀一下。