泡泡网服务器频道 PCPOP首页      /      正文

DX9压榨专家 半条命2神奇渲染引擎揭

    《半条命2》静态场景的光影效果

    这是一张使用《半条命2》渲染技术的典型的静态场景截图。除了火焰之外,场景中其他部分全是静态的。前面说过,对于这种大型静态场景,Source引擎使用基于光照贴图(Radiosity light maps)的光能传递凹凸贴图技术。


 
 图9 所要达到的最终渲染效果

    从这张图中可以看出,场景里既有比较真实的光能传递的整体光照效果,石壁表面又有十分细致的凹凸贴图细节。


    核心技术-基于光照贴图(Radiosity light maps)的光能传递凹凸贴图技术

    我们先来看一下使用以前传统的光能传递算法计算出的单一光照贴图贴到场景中物体表面的效果(为了清楚的表现出光照,去掉了表面本身的贴图):

图10.a 单一光照贴图的效果

    前面说道,为了加入凹凸贴图效果,在《半条命2》 Source引擎中,对应场景里多边形本身局部坐标系的三个基向量,会预先计算出三张光照贴图来。当分别把它们贴到场景中时看起来是这样的:

 图10.b 针对第一个基向量计算的光照贴图的效果

 图10.c 针对第二个基向量计算的光照贴图的效果

 图 10.d 针对第三个基向量计算的光照贴图的效果

     我们可以看出,在这三张光照图中,同一部位上的光强和颜色都是不一样的。那么,这三张光照贴图又是如何结合起来的呢?这就需要通过物体表面法线贴图中的法线来从它们之间取值了。<

0人已赞

关注我们

泡泡网

手机扫码关注