长达20年以上的千锤百炼中不断完善,虽然效果不错且效率高,但却始终不够完美。在许多领域里,光线追踪依然是图形设计师们将现实“克隆”到屏幕中的唯一手段,许多在光棚化中非常复杂的效果,比如阴影、光照、抗锯齿等都可以光线追踪中轻松实现,当然前提是实时光线追踪的速度得足够快。
目前光线追踪技术正被广泛应用于电影、建筑、工业设计等领域,显然许多高端高质的好莱坞特效绝非光棚化渲染能够满足,所以从事这些行业的设计师们肯定希望能有高效的硬件来加速缓慢的光线追踪计算,从而节省大量宝贵的时间。
光线追踪的另一项应用则跟玩家的关系更加密切,那就是应用于游戏本身,当然我们指的是游戏的开发过程,而不是游戏的实时渲染部分。目前许多游戏在开发过程中都需要跟光线追踪打交道,由于硬件跟光棚化的限制,游戏中的光影效果完全靠实时演算还存在很大的障碍,因此很多制作人都喜欢运用预先计算好的光照、阴影贴图来“忽悠”玩家,这种方法用来表现固定光源的光照效果时效果非常好。而光照图的烘培过程就需要采用光线追踪技术才能达到最佳效果。因此游戏开发领域也正是Caustic Graphics重点开发的市场之一,Caustic希望游戏开发商可以利用他们的软硬件系统来缩短游戏开发周期。
有关光栅化与光线追踪的较量可以说是一场无休止的争辩,双方的优缺点相信早已被大多数经常关注3D图形的读者所知晓,两者在对像素的处理上存在很大的差异。通常光栅化渲染是将生成的多边形拆散成为若干组屏幕像素,然后分成多线程塞进GPU的渲染流水线进行计算。光栅化的美妙之处就在于像素是被打包成小组进行处理,这样相邻像素间包含相同或相似shader代码的几率就很高,我们就可以动用多个线程对一个像素进行同类型的操作。也正是由于光栅化这种特性,使得目前SIMD架构的处理其光棚化任务时效率非常高。
光线追踪则不同,它是通过玩家视点向屏幕上的像素发射光线,当光线与3D空间中的物体发生碰撞时就会启动一条shader,该shader会生成额外的光线,又时会生成大量的光线往各个方向发射。Shader生成的光线越多,渲染的细节就越细腻,但显然运算量就会越大。随着光线数量的不断“繁殖”,可以想像运算量的庞大程度,再加上SIMD架构在面对随机性运算时效率低下,也正是这两个原因,实时光线追踪一直停留在“实验阶段”。
提升现阶段硬件对于处理光线追踪时代效率以及改进目前流行的光线追踪算法,一直是业界专家们研究讨论的话题。目前对于实时光线追踪的都是通过“包裹式追踪”的方式来实现的。所谓“包裹式追踪”就是将若干组像素打包在一起,然后追踪相邻像素的所对应的光线,显然这种处理方式的效率会比较高,但随之光线不断产生碰撞跳转,原本完整的像素包将被逐渐打散,GPU非常依赖的数据局部性也就等不到保障,Caustic声称目前的GPU没有足够的带宽来满足实时光线追踪庞大的数据交换。
9 7 3 1 2 3 4 4 8 :
欢迎访问最专业的网吧论坛,无盘论坛,网吧经营,网咖管理,网吧专业论坛https://bbs.txwb.com |
关注天下网吧微信,了解网吧网咖经营管理,安装维护 / 下载天下网吧APP,交流讨论
本文来源:硅谷动力 作者:佚名