Crytek出品的《Crysis》绝对是今年最受关注的PC游戏,其DX10最高画质下的画面水平已经在向电影化靠拢的路上迈出了一大步。遗憾的是,其高配置要求导致90%以上的用户根本没看过特效全开的《Crysis》画面效果。台湾Mobile01网站使用一套Intel Core 2 Duo QX6850和GeForce 8800G
即时光影环境贴图
即时环境贴图(Real-Time Ambient Maps)
一直以来,实时绘图在处理光源时,在意的只有直接光源(Direct Light),对于间接光源(In-direct Light),由于运算量太大,且人眼对于非直接光源的辨识度没有那么高,所以通常进行简化,例如给予整体环境同样的背景亮度值,或是利用事先产生的光贴图(Light Map)来制造出明暗的假象。Light Map有个缺点就是必须事先产生,不适合用在光源会实时改变的状况,也因此《Doom 3》(2004)舍弃了Light Map的作法,仅利用Stencil Shadow + Normal Mapping来产生画面的明暗效果,虽然所有的光影都是动态产生,但是这种作法也有缺点,就是同时间的光源数受到效能限制,且当光源没有照射到的地方,呈现出的就是一片黑。
为了解决这个问题,各大厂选择不同的作法,例如Valve提出“Radiosity Normal Mapping”这样的技术,将环境光源值依据三个基准向量各自储存至独立的Light Map,最后透过Normal Mapping还原,理论上可以处理任意数目的光源,达到环境光源的目的。而《Crysis》采用的作法则是事先计算每个图素(texel)被环境遮蔽的程度(每个点可以被“天空”看到的程度),存到环境贴图(Ambient Map)中,然后在实际绘制时则依据多边形的法向量、光源的颜色与和多边形的相对位置、以及图素的遮蔽值来还原出环境光源值,Crytek将这个做法称为实时环境贴图(Real-Time Ambient Maps),其实指的就是Ambient Occlusion(环境遮蔽)这个技术,可以看成是全局照明(Global Illumination)的一种简化作法。
《Doom3》的阴影全黑
《Crysis》的环境贴图效果
光源即时改变效果(注意左边实物在失去光源后已然可见)
网友评论