维爱迪-动画创作家园 >> 动画资源 >> 其他教程 >> DirectX不是全部!3D游戏图形技术解析 |
3D游戏图形技术之二—景深(Depth of Field)(图06)
图06
● 为什么要加入景深—模拟镜头和人眼的视觉效果
使用单反数码相机拍照的朋友应该知道,大光圈镜头所带来的背景虚化效果非常好,能够凸出人物和景物,主次分明。其实人眼在注意观察物体时,也会将焦距拉近,主体清晰可见但远景一片模糊,这就是通常所说的景深效果。(图07)
图07
3D游戏为了模拟真实,更接近镜头/人眼的成像原理,也将景深引入渲染过程之中。由于3D游戏只是将图像投影在了平面的显示器上,不会有深度,因此想要实现景深效果必须在图像输出之前就进行预处理,把游戏主角以外的远景全部虚化。
● DX10带来更好的景深处理
DX9时代,是通过投机取巧的方式来实现景深效果的,它自动判定距离,将远处景物的纹理、阴影、光照等特效全面缩水,然后再辅以模糊处理,而只对近景做正常渲染输出,这样就会让玩家注意到主角而忽视远景。(图08)
图08
而DX10则没有任何的偷工减料,它通过几何着色器,将深度帖图中的纹理信息按照距离拆分到缓冲,然后分为几个不同的视角进行渲染,最后合成完整的图像。因此最终实现的景深效果在特效方面不会有任何缩水,远景完全符合正常的虚化模式,如果仔细观察的话,光影等细节依然得到保留。