西雅图大学:特效消耗是无尽陷阱?游戏画质现状解析

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 01:17:49

特效消耗是无尽陷阱?游戏画质现状解析

光与影的轮舞

 

  “这什么破游戏啊!游戏画面没见改进,帧数还这么低!制作方简直太烂了,一点都不好好优化!”觉得眼熟么?没错,这就是现在玩家中出现频率最高的场景。一直以来游戏新作的图形效果并不能令人感到满意,尤其是crysis2等大作面世之后,玩家对这种对所谓的新游戏画面没有改进帧数却暴降的不满更加明显了。

  我们在《忠实微软是否有用 A/N统一构架细节分析》首次引入了沙子-沙漠效应,并开始用它来解释图形发展过程中的一些问题,很多读者在阅读过文章之后都给作者发来了邮件和QQ消息,一面痛斥API更新了图形却没进步这件事,一面询问到底什么才是沙子-沙漠效应,它反映到图像上到底是一种怎样的过程。

  有介于这种情况,我们决定暂时改变一下探索与发现节目的安排,原定于本期进行的关于NVIDIA CPU/GPU统一之路的讨论将安排在下一期节目中进行。在本期的探索与发现节目中,我们将向你讲述一个关于沙子-沙漠效应与游戏画质发展现状的故事。


  ● 光与影的轮舞

  我们生活在世界上,用眼睛注视着周围的一切,是什么如此吸引我们的注意力并让我们感知到了周围的一切色彩?是光。只有光么?显然不是,与光时时相伴的还有影子。


光与影构筑了我们的世界

  光和影是日常生活中最常见的两种基本视觉体验。物体表面被光照到,就会与光线交互作用并显现色彩。未被光照到的部位则会显得更加暗淡,无法显示与光照部位完全相同的色彩表现。光与影构成了视觉关系中最基本也是最核心的两种关系,并由此衍生了几乎全部的视觉效果,比如距离感,立体感,景深,散射,渐变等等。如果想要构建具有真实感的三维影像,光与影的关系是非常重要的。


BF3逼真的光影效果

  今天我们关于沙子-沙漠效应的话题,将从光与影以及由此引发的一系列特效展开,而有关光与影的主题,将是一个欺骗、惩罚和陷阱。

 

产品:Radeon HD 6970 AMD 显示芯片

神说要有光,我们骗神说这里有光

 

  ● 神说要有光,我们骗神说这里有光

  要构建图形效果,最基本的条件就是光线和颜色,所以即便是最原始最粗糙的3D效果,也是包含了明暗信息以及物体被光照射之后的反应的。如果没有光,颜色就得不到正确的表现,场景也没有了立体感,3D效果的意义也就丧失了。



原始的DirectX 6画面也具备光影效果

  最传统的对光的表现形式主要集中在纹理层面,制作者通过在烘焙阶段直接将简单的明暗效果放置在预制纹理之上,然后在需要时进行贴图操作来完成明暗的表现,这就是最初的对光效果的描述。光源仅仅是一块亮一些的贴图而已,他撒下的并不是光辉,物体得到的也不是照耀而仅仅是寂寞……不难发现,这种带有欺骗性质的光效果仅仅是对最终效果的表达,对光线与物体之间的数学关系并没有任何的表述和涉及。


缺乏数学关系导致的错误阴影

  其实即便是在光栅化过程高度发展的今天,虚拟的图形世界中也是不存在所谓“光线”的。因为光栅化的最基本操作单元是像素,人们对光效果的表达,完全是通过预先设计出像素在光源照射下所应该具有的表现,再将这种表现反映到像素上来完成的。说难听些——这只是一副“要你看到这样效果”的画作而已,一切都是假的,或者说一场骗局。


“光”栅化里其实没有光线  

  起初,神想要世界,于是程序员创造了天地。地是空虚混沌,渊面黑暗。神的灵运行在世界里却看不到周围,于是神说,要有光。结果程序员们在天地表面撒上了金银粉,把空虚混沌染上了各种颜色,然后骗神说——这里有了光……

产品:Radeon HD 6970 AMD 显示芯片

神将光暗分开,我们又骗神说分开了

 

  ● 神将光暗分开,我们又骗神说分开了

  神看到天地间有了明暗和色彩非常高兴,他觉得这个世界是好的,于是便想将明暗分开。可是,这世界原本就没有光,明暗要怎么才能分开呢?



光影分离

  传统的对光线效果的表达会产生诸多极为无厘头的问题,其中最重要的一个,就是光和影之间根本不存在对应关系。真实的光线与物体的数学关系存在遮蔽现象,物体对光源主光线的遮蔽必然会导致光线无法传播到物体后部。所以遵从光线数学关系的结果自然就是物体背后长长的影子。但在传统的光效果处理过程中并不存在这种关系,有光没影这种在现实世界中很荒谬的事情,在图形的世界中却是再平常不过的事情了。    


错误的光影效果导致的不正确的视感

  没有光影关系,物体的位置都无法被准确的反映出来,这样的3D效果哪有什么立体感可言啊。怎么办?简单,把物体下面的光照信息去掉,不就成影子了么。


这黑黑的东西就是影子

  没错,这黑黑的一坨,就是最开始的影子,这种影子与其说是为了表达光影效果,倒不如说是为了表明物体在特定位置上的存在感。比如说一个人站在地上,如果不在他脚下添上那黑黑的一坨,屏幕前的你根本就无法分辨他是站在地上还是漂浮在半空中。


没有影子,连判断位置都变得困难了

  为了进一步欺骗眼睛,程序员们慢慢的想出了其他办法,他们按照要表达物体的外形制作了一个阴影模板,然后猜测出了摄像机位置下物体与根本就不存在的光线交互之后应该出现影子的位置和角度,接着把影子的模板直接放在了地上。于是现在地上有了跟物体外形差不多的影子,“真正”的影子。


模板阴影效果

  程序员去掉了神身后的金银粉,让其露出了渊面的颜色,然后再次骗神说,光和暗已经分开了。神挪动自己的脚步,程序员便对应的改变渊面的范围,神看影子动了,以为光与暗真的分开了,非常高兴。

产品:Radeon HD 6970 AMD 显示芯片

神愤怒了

 

  ● 神愤怒了

  神的灵行进在天地之间,完成着创世的工作。神发现有些事情不太对劲。为什么影子的反应往往会出现错误,为什么影子里要么一片漆黑要么一成不变,为什么光照不进影子里面。



奇怪的光影错误

  模板阴影因为其固有的不考虑数学关系的特性而显得异常呆板。玩家只要稍具好奇心,便可以利用游戏中能够创造出来的光源制造一个又一个充满欢乐的景象,比如在LOD接合处阴影消失,有时候角色站在墙或者其他什么地方的时候,墙上的材质如果存在错误,影子就会变成了一大堆可笑的三角形,甚至如果你举着火把站在某个阴影里,脚下的阴影完全没有任何变化……单纯的模板阴影因为这种完全不考虑数学关系的简陋做法,很快就被广大用户所诟病。


LOD错误导致的阴影丢失

  神知道自己被骗了,大大的发了怒,决定降罪于程序员。于是,神在一粒沙子上附上了数学以及因果律的灾厄,然后将这粒沙子赐予了人间。当有人捡到并释放出沙子中的灾厄时,沙子会不断增加,最后形成一个沙漏一样的陷阱,将所有的程序员都拖进去。

产品:Radeon HD 6970 AMD 显示芯片

第一粒沙子——shadow volume

  ● 第一粒沙子——shadow volume

  第一个捡到沙子的人,叫Franklin C. Crow。

  Franklin C. Crow于1977年发表了一篇名为《Shadow Algorithms For ComputerGraphic》的论文,详细阐明了构筑正确的光源与遮蔽物空间位置关系以及场景内所有物体进行阴影检测的算法,但受限于当时过于低下的运算能力和图形实践手段,这篇意义非凡的论文无法得到验证以及任何的实质性应用。它以及它背后那粒被上帝附上了灾厄的沙子,就这样被遗忘在了角落里。



Franklin C. Crow被遗忘到连照片都没有留下

  由于应用的发展和需要,开发更加真实的阴影效果的需求变得越来越迫切,程序员们开始了对没有光却能变出影子的方法的寻找。这种投机并且撇开数学的方法显然得不到任何好的结果,再加上AA等来自其他领域的干扰,诸多构筑优秀阴影效果的尝试,比如perspective shadow map和adaptive shadow map等均以失败告终。


adaptive shadow map

  就在所有人都一筹莫展的时候,一个人发现了在角落里发着光的那粒沙子。这个人就是John Carmack,而他从沙子中得到的启示,叫shadow volume。


采用shadow volume的DOOM3

  第一次看到DOOM III中卫生间摇曳灯光下怪物满屋拖动的阴影时,你是否有一种惊为天人的震撼?这就是赋予阴影正确数学关系之后的结果。shadow volume通过计算光源与物体之间的放射角度来构筑阴影的形状,因为考虑了Occlusion的关系,shadow volume第一次在数学层面上还原了主光线-物体-阴影三者正确的位置和交互关系。通过数学关系的对应,光源的移动可以被直接反映到阴影上。


光锥关系

  虽然“光线”依旧不存在,但是光线背后的数学关系已经正确的将光源、遮蔽物和阴影这三者紧密的联系在了一起,无论动态光源如何移动,阴影都能根据光源以及遮蔽物两者之间的位置关系调节自己的位置。John Carmack的shadow volume开创了游戏特效领域的新纪元,他将视觉真实感提升到了前所未有的高度,全世界的程序员都膜拜在了他的脚下,人们甚至称他为图形界的教父。


图形界教父John Carmack

  John Carmack的shadow volume带给世界的,不仅仅是极近真实的视觉体验,还有这种体验背后的灾厄——数学,shadow volume的应用,标志着完整的数学体系正式进入了程序构筑的光影的世界,开始了对每一个像素的实时影响。

 

产品:Radeon HD 6970 AMD 显示芯片

沙子到沙漠,到底有多难?

 

  ● 沙子到沙漠,到底有多难?

  我们来重温一下沙子-沙漠效应。

  如果您手里有一粒沙子,而你想要一小堆沙子,那好办,只要再找几十几百粒沙子就可以凑成一小堆了。

  如果您手头有了一小堆沙子,想要一捧沙子,那也好办,不过是几百万粒沙子而已,弄起来不会很难。

  如果您有了一捧沙子,想要一大堆沙子,也不是不能办,几百上千亿粒沙子而已,找个铲子一铲子下去就能有几亿,不几下就搞定了。

  如果您有了一大堆沙子,想要一片沙地,这可能就不好办了,沙子有多少是数不过来了,不过也不是不能办,多花点时间就可能做得到。

  如果您有一片沙地,想要一个沙漠……



沙漠不是人力搬运所能够实现的

  从沙子到小堆沙子,再到后面的沙地和沙漠,这一次一次的跨越就是一个一个的质变过程。不难发现,每次往前迈出的一步都会比上一次更加艰难。


野蛮数学的典范——蒙特卡洛模拟

  数学关系中很重要的一个组成部分,就是量变与质变的累积效应。要达到质变,必须要有足够的量变积累来完成递进的过程。这个积累过程没有任何的取巧之处,依靠的仅仅是最基本的暴力运算和叠加。数学是优美的,她背后的和谐和精巧是全宇宙最优雅的存在。数学又是丑陋的,他背后的野蛮和暴力是全宇宙中唯一不可逾越的障碍。数学用她的优雅和美丽吸引了John Carmack,并通过John Carmack吸引了人世间的程序员们,现在是时候展现他丑陋的一面了。

产品:Radeon HD 6970 AMD 显示芯片

越来越多的沙子

 

  ● 越来越多的沙子

  shadow volume对数学的应用主要集中在空间位置以及Occlusion关系的检查方面,这种检查本身非常耗费系统的运算能力。频繁的Z-pass和Z-fail检查压榨着当时本就不够强大的GPU中的ALU,甚至NVIDIA不得不通过UltraShadow这种专门的执行单元来进行shadow volume的加速。



ultrashadow单元

  尽管对硬件的压迫极大,程序员们依旧选择了继续前进。严谨的数学关系引进之后所产生的诱惑太过惊艳和甜美,以至于几乎所有见过的程序员都不太可能再去考虑其他更加讨巧的“欺骗眼球”的“小手段”,把数学引进来成了越来越多程序员生成真实图形效果的首选方法。数学的内涵渐渐渗入到了图形处理过程的灵魂之中,沙子的影响力逐步的放大。


数学介入越来越多的图形处理

  随着阴影技术的发展,shadow volume得到了充分的进步,人们看到了越来越多真实准确的阴影表现。渐渐地,这些阴影表现在人们的眼中变得理所当然,而shadow volume所产生的阴影的缺点也越来越多的被挑剔的人们所发现。游戏玩家开始要求更加准确的光线与阴影的关系,比如阴影边缘的平滑和柔滑。


shadow volume对阴影的处理

  光线被物体遮挡之后会形成一个锥状发射的区域,这个区域的边缘就是阴影的边缘。如果光线只有2条,一左一右的光线将勾勒出清晰的直线阴影边缘。但问题是真实的光线显然不应该只有2条,而影子也绝对不可能像切蛋糕那样把光亮的区域以及黑暗的区域一分为二。透过物体的边缘,应该会有更多的光线进入阴影边缘才对。


柔和的阴影边缘

  问题来了,更多进入阴影内部的光线,“光线”在哪里?我们的故事从第一秒开始就没有出现过“光线”,一切光与影都是假的。没有光线,怎么让更多的光进入到阴影边缘呢?好办,我们有数学嘛。伟大的John Carmack告诉我们,只要使用正确的数学关系,没有光线也照样能够让阴影亮起来。

  沙子形成的陷阱越来越深,数学也露出了闪着寒光的獠牙。

 

产品:Radeon HD 6970 AMD 显示芯片

第一捧沙子——soft shadow

 

  ● 第一捧沙子——soft shadow

  为了削弱切糕一般的阴影边缘对视觉体验带来的影响,同时回避传统的多sample复式贴图简单粗暴所导致的画质难以提升,程序员们开始引入各种看上去精美和谐的算法来处理soft shadow的问题。



复杂数学处理出来的soft shadow

  傅里叶级数、非线性函数逼近、卷积定理、切比雪夫不等式……这些一般用户一辈子绝对不可能看到3次以上的名字开始浸入到阴影处理的各个环节。他们每一个都有着华美的外表以及优美的内涵,在解决阴影边缘单个像素的比较和颜色问题时显得极其精巧和谐。


切比雪夫不等式处理soft shadow

  比如成熟的Convolution Shadow Maps所使用的处理过程就体现了这种精巧,在这种soft shadow处理方式中,程序会对某个处在场景中的像素与光源的距离以及这个像素在shadow map上的坐标进行比较,将比较的结果应用到卷积定理中并得到一组优雅的函数,通过对函数应用数值分析方法,利用傅里叶级数逼近来完成计算,整个过程就好像一首巴赫的交响乐一般严谨精巧甚至充满了庄严感。


巴赫交响乐

  但待处理的像素显然不止一个,对于每一个阴影边缘的像素,上面那些过程都要被重复最少一次,有些像素还可能会被重复很多次直到结果正确为止。于是在这些算法身上,数学最简单的暴力堆积效果被放大到了无法被忽视的高度。


暴力放大的蒙特卡洛算法

  举个例子,解一个简单的二元一次方程组,比如X+Y=4,X-Y=2这样的,对任何人来说都很轻松,这反映的就是数学的和谐和美丽,她是那么的精巧,那么的“刚好合适”。但如果类似的方程组从1个变成1000个,你还会觉得她很美丽很精巧么?变成10000个呢?100000个呢?2304000个呢?

  解决一个单元的数学问题需要的是艺术家,解决一大堆数学问题的就是粗声大气满身臭汗的野蛮人了。一个数学问题如果是一首优美的交响乐,一大堆数学问题就成了嘈杂而且轰鸣着的噪音了……


使用softshadow的细胞分裂5

  使用soft shadow对系统的压榨时有目共睹的,最初的数个支持soft shadow的游戏比如F.e.a.r 2,S.T.A.L.K.E.R.,细胞分裂等几乎个个都是硬件杀手。这些游戏被soft shadow拖累得即便是当时最强劲的平台运行,其幁数也仅仅是勉强可玩而已,如果不是制作方明显的要让游戏最后可以动起来的优化意图起了作用的话,估计这些游戏即便放在今天都还是硬件杀手之一。


使用softshadow的f.e.a.r 2

  但是,这些游戏使用soft shadow所带来的效果呢?

  如果我不说,你会想起这些游戏中还支持soft shadow么?你会注意到这些游戏中soft shadow的表现么?

产品:Radeon HD 6970 AMD 显示芯片

第一片沙地——SSAO

 

  ● 第一片沙地——SSAO

  对阴影中像素的数学应用并不是一切的尽头,既然数学关系可以用来解决没有光的光影关系中几乎一切的问题,那就肯定会有追求完美的人在这条路上一直走到黑。于是,那间名叫crytek的公司出现了。



crytek公司

  实现了soft shadow的阴影依旧是不正确的,阴影的边缘虽然因为更多的光线流入而显得更加柔和,但这些光线依旧仅出自同一个光源而已。真实的场景中光源显然不止一个,任何场景内物体表面的反射和漫散射都可以成为一个新的光源,这些经过反射和散射的光不可能不对阴影产生影响。


大气散射效果可以形成次生光源

  如果不考虑这些次生光源对阴影的影响,影子的表现是不可能正确的。影子里完全没有光这种事情出现在DOOM III那个只有一盏吊灯,透着阴森恐怖的卫生间里还勉强可以让人接受,如果出现在大白天的室外场景,相信没有一个目前的用户可以接受这种效果。比如你控制着角色奔跑在浩瀚的非洲大草原上,眼前忽然出现了一个大裂缝,走近一看才发现原来是一棵树的影子,估计掀桌子的冲动会立刻冲上你的脑门。而如果要考虑这些光照产生的效果,我们就又要面对故事的核心问题——光在哪里?


开启环境遮蔽检查的效果

  可以这么说,光栅化过程的发展,其核心就是程序员在没有光的前提下想尽办法欺骗玩家眼球,让他们相信那里有光的血泪辛酸史。

  没有光线,又要表达光所产生的效果,最开始使用的自然又是直接把所谓正确的效果弄成贴图贴出来了事的手法了。比较典型的如半条命2中所使用的radiosity Normal Maps,其效果拙劣到几乎没有人再次采用,这种手段很快就消失了。不同场景、不同视角中次生光源产生的光照根本就不可能在事先被全部估计到,因此透过预先设计纹理事先效果的手段自然也就全无成功的可能了。


radiosity Normal Maps效果

  既然不能预先设计,那我们就把处理的过程放进实时的游戏中吧。于是,程序员们再次开始了对全局间接光照特效的数学关系研究。先后出现的GI和Photon Mapping等操作方式消耗都过于巨大或者效果不佳,直到crytek公司在SGI2007会议上递交了一篇名为《Finding Next Gen – CryEngine 2》的论文,全局间接光照的实用化才拉开了帷幕,这篇论文中crytek提出了一个全新的处理方式——Screen-Space Ambient Occlusion,简称SSAO。

产品:Radeon HD 6970 AMD 显示芯片

浩如烟海的沙子

 

  ● 浩如烟海的沙子

  shadow volume是对光源与遮蔽物边缘延长线以内像素的采样和判断,soft shadow是对阴影内部不同深度值上像素的判断,从shadow volume到soft shadow,增加的像素和每个像素上增加的算法所带来的运算难度和规模的增长我们已经见识到了,那么SSAO呢?



SSAO过程

  因为视野内所有的物体都有出现反射散射的可能性,既然所有地方的所有物体都有可能成为新的光源,那么SSAO所进行的间接光照和场景闭塞性检查,就很自然的成了对视野内所有像素的判断操作。

  是的,所有像素。


SSAO需要对整个场景进行检查

  我们无需深入SSAO的处理过程,只需要知道他是对摄像机角度出发的所有可见像素进行的操作即可。因为有了soft shadow过程的前车之鉴,这个操作的难度和复杂性应该是个人都可以想象出来了。

  数学终于褪去了她美丽的伪装,彻底显露出了他丑陋野蛮人的本来面目。方程组是美丽的,但美丽的数学方程组如果从1个变成1000个,你还会觉得她很美丽很精巧么?变成10000个呢?100000个呢?2304000个呢?


今天的图形进步就是建立在暴力数学基础上的

  传统光栅化过程的核心特点,就是对像素的操作。因为光线本身在光栅化过程中并不存在,涉及光影的特效表达,最终都是通过像素操作来完成的。而且伴随着视觉要求的提升,视野中或者说屏幕上的像素数越来越多,被赋予到像素上的数学关系的规模也跟着被各种放大。最后,我们得到的最直观的结果就是幁数的下降。


crysis2的幁数下降很明显

  既然这样,我们通过回避这种增长来换取幁数可不可以呢?从shadow volume到soft shadow再到SSAO,我想你应该能够看出规律了——由于光栅化过程的基本操作单元并不是关系,而是像素,所以要想在全屏幕范围内实现正确的各种图形关系,对所有的像素进行操作就是无可避免的结果了。

  神降下的第二个灾厄,也就是因果律,现在发挥作用了。沙子的陷阱已经无底了。

产品:Radeon HD 6970 AMD 显示芯片

画质是无底的陷阱

 

  ● 画质是无底的陷阱

  截止到目前,我们所面对的这些问题都仅仅局限于光影这两个特效区域的表达之中,实际上沙子-沙漠效应,或者说数学这个灾厄对于图形过程的影响远远不止这些,所有涉及像素的操作,不管是光影还是颜色,甚至是AA都要面对质变代价越来越高昂的问题。

  我们不妨用下面一张简单的图来直观的应用和体会一下沙子沙漠效应的作用过程吧。



阴影材质质量渐变

  上图从左到右分别为原始贴图,应用PCF边缘柔化的贴图,采用超级采样的贴图,应用超级采样+blur特效的贴图,应用超级采样+PCF边缘柔化的贴图,以及最终使用超级采样+blur+PCF边缘柔化的贴图。不难发现,其实从超级采样开始,画面的区别已经逐渐变得不再明显了。尽管最后一张使用完整的超级采样+blur+PCF边缘柔化的贴图更加符合真实阴影的特点,但他所付出的代价也是最为沉重的,但他所换来的效果却未必能被所有人都接受。


渐变阴影质量

  很明显,被数学和因果律灾厄缠身的光栅化过程现在的问题就在这里。不论程序端还是硬件端,随着需求的增长和技术的进步,他们所要面对和处理的特效以及数学关系越来越复杂,处理范围越来越大,而越来越复杂的处理过程所能够产生的改善和变化却越来越小。最终,光栅化过程的图像质量进步无法引起大多数使用者的共鸣和认可,其不菲的代价却被直接反映到了幁数上并被人们竞相诟病。

产品:Radeon HD 6970 AMD 显示芯片

再往前就是沙漠,就是无底的深渊

 

  ● 再往前就是沙漠,就是无底的深渊

  SSAO的出现标志着人们对光照以及阴影的处理正式进入了全像素范围的阶段。随着全像素范围处理时代的到来,各种光线关系、光影关系、颜色关系、位置关系等数学问题的处理都将渐渐被应用到全部像素中去,他们背后的暴力数学本质,以及相互对彼此的影响所产生的甚至可能是指数级的放大效应,都在将光栅化过程从一大片沙地推向沙漠,推向了那个无底的深渊。



数学关系越来越复杂的图形

  更加致命的还不止这些,所有问题中最致命的一环恰恰是我们自己。随着特效的不断进步,我们能够认可的质变等级将越来越高,而随着特效的日趋真实化,我们终将进入一个危险的状态——我们会慢慢的认为某些特效是理所当然的,毫不费力就可以得到的,甚至本来就该存在的。实际上对目前画面进步的这种欲求不满,很大程度上都源自这种危险状态的前奏。


crysis2不同设置的画面

  以上面源自crysis2的不同画面设置的截图为例,如果将特效独立出来,比如空调房阴面墙壁以及树木的阴影,绝大多数玩家并不是看不出soft shadow和SSAO所带来的变化。当这些正确的特效被混入到场景的背景当中时,玩家的潜意识会理所当然的认为这些正确的特效都是“本来就应该存在的东西”,耗费大量系统资源制作出来的soft shadow和SSAO等特效就这样被他们忽略掉了。但忽略掉这些特效的玩家却没有忽略这些特效导致的幁数下降,于是,crysis2便被冠上了“进步缓慢”,“为家用机优化放弃特效精进”,甚至是严重倒退之类的罪名。

 

产品:Radeon HD 6970 AMD 显示芯片

神会宽恕我们么

 

  ● 神会宽恕我们么

  随着沙子-沙漠效应的不断明显,神对程序员的惩戒已经越来越多的降临到了人们的头上。光栅化发展到今天已经处在一个十分悲哀的境地了。很多特效理解之后就会变得非常明显,但玩家却并没有义务去理解这些特效。为了这些玩家并不理解,甚至混进背景之后还会被人认为是理所当然的不明显的特效,光栅化正在背负越来越沉重的处理负担。



负荷越来越重的光栅化过程

  悲哀的处境并不可怕,只要心存希望,并且坚定的将实现更好的图形效果以及为用户带来更真实的应用感受作为目标,光栅化就有发展下去的动力和方向。

  将灾厄降临到人间之后,仁慈的神很伤心。于是他为人间留下了希望。有希望,人们便能面对困难,克服困难,人间就是好的。


曲面细分应用之毛发

  相对来说,模型的进步就比较容易被玩家注意到,所以商人微软在DirectX 11中强调了tessellation的作用,希望能够创造更容易引起玩家注意的画面改进点。另外,通过Compute Shader开放出来的更加简单的编程过程和更多的可用数学处理资源,也在相当大的程度上缓解了由沙子-沙漠效应所造成的沉重的系统压力。


Compute Shader实现的海量光源特效

  随着越来越多的人开始意识到玩家对不同特效接受度的不同,以及特效发展到趋近于自然之后玩家的不同反应,也许在不久的将来,我们还可能会看到诸如图形心理学之类能够改变光栅化发展方向及发展重点的辅助性学科的介入。从大方向上把握光栅化发展的进程,最大限度的规避数学灾厄所设置的沙子陷阱。


美轮美奂的光线追踪

  当然,在未来的路上还有光线追踪再等待着我们。也许随着光线追踪的引入,神会宽容人们犯下的欺骗的错误,让图形处理过程重归简单有效的发展方向。即便神依旧不能原谅人们,人们也可以通过神留下的希望以及自己的努力,为图形界带来崭新的未来。

  只要有希望,人间就是好的。