您的位置:电脑秀首页 > 硬件中心 > 产品评测 > 正文

微软DirectX 10.1技术全方位剖析

PCSHOW.net 作者:微型计算机 2008-05-14

Part 3:辐照度处理

        辐照度(Radiosity)则是部分游戏采用的另外一种光照和阴影处理技术,它结合了光照/阴影贴图技术和光线追踪技术的部分优点。辐照度的工作原理是采用类似于光线追踪的方法,预先计算和存储场景光照数值,然后在渲染过程当中使用这些存储数值,以达成快速间接光照计算的目的。但辐照度的计算方法也有着和光线追踪类似的致命伤,即预先计算的工作量过于庞大,在处理含有运动光源以及变化光源的动态场景时就会变得力不从心。


辐照度处理模式

Part 4:全局光照

        配合DirectX 10.1的立方体贴图阵列技术以及Radeon HD 3000系列图形芯片,所实现的“全局光照”则是将光照/阴影贴图的优点和间接光照相结合,以此来支持几乎无数量限制的动态光源,还可以实现真实的折射和软阴影处理。


全局光照的模型

        借助DirectX 10.1的帮助,开发者可以采用已经建立索引的立方体贴图阵列,搭配几何着色来高效率地达成实时全局光照,即便复杂交互场景当中有数以千计的物理刚性物体(如AMD的演示DEMO)。

        全局光照工作原理是将场景划分成一系列3D阵列的立方体。每个立方体表面以立方体内部中点为视角进行简单渲染;立方体表面的渲染分辨率和渲染细节无须达到最终画面的细节程度,但可以根据开发者的要求进行不同细节程度的弹性调整。1个立方体的6个面都将渲染结果存储为1个立方体贴图纹理。

        接下来的步骤是将每个立方体贴图纹理转换成1个压缩的球面来代表(如图8所示)。采用这种球面方式,用几个简单的算术操作就可以快速决定立方体内任何方向上一点的光照强度和光照色彩,立方体2个面交界点的光照强度和色彩数据也能从相邻立方体的贴图纹理当中通过内插值替换获得。

        全局光照要达成高效率,还需要动态环境闭塞技术(dyna micambient occlusion)的配合,这种技术可以在全局光照环境下捕捉到本地视角的变化。比如在乒乓球演示demo当中,当2个乒乓球互相接近或者乒乓球靠近墙壁的时候,动态环境闭塞技术就开始发挥作用,为乒乓球提供边缘柔化处理的阴影。这种“接触阴影”对观察者判断场景当中物体的位置,提供了非常重要的视觉线索。

匿名评论 登录后评论
[按 CTRL + ENTER 键快速发表评论]
返回页面顶部↑