维爱迪-动画创作家园 >> 动画资源 >> 其他教程 >> DirectX不是全部!3D游戏图形技术解析 |
● DX10.1大大提升SSAO效率
SSAO可以利用“逐象素场景深度计算”技术计算得出的深度值直接参与运算,也可以利用DX10.1当中的Gather4函数实现更快速纹理采样及过滤。DX10模式下开启SSAO性能损失非常大,因此SSAO技术多出现在DX10.1游戏中。通过实际测试来看,DX10.1显卡在DX10.1模式下(如果该游戏支持的话)的性能相比DX10会提升20%-30%之多,从而使得SSAO成为真正实用的技术,而不再是花瓶。(图12)
图12
● DX11带来更高清晰度的HDAO
在DX11中,SSAO被进一步升级至HDAO(高清晰),因为DX11中的Gather4函数更加强大,它可针对特定的颜色分别采样,自动识别能做阴影映射的值,从而实现更快更好的阴影过滤。HDAO和SSAO都能向下兼容旧硬件,但运行速度会打折扣。
换句话说,DX11和DX10.1是在改进算法、优化性能的基础上,使得显卡有能力渲染出更复杂、更完美的特效,而DX10虽然在也能达到同样的画面效果,但速度会很慢,实用性不大。(图13)
图13
3D游戏图形技术之四—镶嵌细分曲面(Tessellation)(图14)
图14
● 媲美电影CG画质—镶嵌式细分曲面技术
游戏和电影CG动画,其实都是由计算机渲染出来的,那为什么画质差别那么大呢?这是因为CG动画的模型要比3D游戏复杂成千上万倍,所以CG也要成千上万倍与电脑的性能才能渲染出来,而且还无法实现实时渲染。
3D游戏考虑到家用电脑的机能,模型不可能设计得太复杂,否则就不具备可玩性。但为了让游戏变得更加逼真、达到更高画质,太简单的模型的确拿不出手,那么有什么方法既能大幅提升模型复杂度、又不至于给显卡造成太大负担呢?Tessellation技术就是为此而生的。(图15)
图15
简单来说,Tessellation是一种能够在图形芯片内部自动创造顶点,使模型细化,从而获得更好画面效果的技术。Tessellation能自动创造出数百倍与原始模型的顶点,这些不是虚拟的顶点,而是实实在在的顶点,效果是等同于建模的时候直接设计出来的。(图16)
图16
除了大幅提升模型细节和画质外,Tessellation最吸引程序员的地方就是:他们无需手动设计上百万个三角形的复杂模型,只需简单勾绘一个轮廓,剩下的就可以交给Tessellation技术自动镶嵌,大大提高开发效率;而且简单的模型在GPU处理时也能大幅节约显存开销,同时大幅提升渲染速度!