热点推荐
ZOL首页 > 显卡 > 评测 > 横向评测 >

Directcompute技术处理透明顺序排序

A/N谁占上风 14款显卡底层性能全揭秘

CBSi中国·ZOL 作者:中关村在线 濮元恺 责任编辑:龚力成 【原创】 2010年08月14日 06:23 评论
在本页阅读全文(共14页)

    ● DirectCompute技术处理透明顺序排序

    同时借助Direct Compute技术,DirectX 11可以实现次序无关透明。即物体不管以任何顺序进行摆放,GPU都能按照正确的前后关系计算透明。这个特性完全模拟了真实世界的透明行为。OIT次序无关透明使用了 Direct Compute 中的原子操作和 append buffer,在 GPU 内部完成 per-pixel fragment lists 和 sort,性能和精度都比传统的 alpha blending 有很大的提升。


A/N谁占上风 14款显卡底层性能全揭秘
简单的Alpha透明,效果显得杂乱无章;OIT透明,物体轮廓骨架显得非常清晰

    上图所展示的Mecha主要是展示的OIT(order-independent transparency透明顺序排序)技术。以往的DirectX中对于透明物体的叠加处理是非常复杂的,因为透明物体的层次关系相当复杂,特别是烟雾、火、水、玻璃等等东西混合在一起的时候,程序很难判定物体的层次顺序。

    这些以前都依赖程序员的手工指定,并且有些透明物体像烟雾、火焰等等这些透明的物体没有严格形状模型,并且变化相当迅速,处理这些透明物体会消耗程序员和GPU相当大的精力和性能。

A/N谁占上风 14款显卡底层性能全揭秘

    微软在DirectX 11中引入了OIT技术来实现多个透明物体的快速混合,通过OIT技术可以很好的应付多重乱序透明处理,从而实现实现透明物体的快速正确排序。

    实际上OIT技术是DirectCompute11中的一部分,OIT的对透明物体排序的实现都是通过DirectCompute11来实现的,并且实现起来非常简单。另外,在OIT中微软首次提到了使用原子操作,至于原子操作的具体意义对于非图形编程人员就不需要了解了,另外微软还提到OIT还提供了单独的缓存来提高处理透明物体的排序。

    OIT效果的运算方面,原则上是可以通过流处理器单元来独立实现的。但是DirectX 11中定义OIT效果需要原子操作。基本上,DirectX 11新引入的几种特效中,除了曲面细分之外其他的都走得Compute Shader技术和原子操作。微软的说明里OIT是走CS5.0路径的,也就是说原子操作性能将大幅度影响到OIT效果的最终表现。

    事实上很多测试结果也说明OIT效果确实可以从存储系统尤其是cache的优化中得到显著的好处,原子操作是很依赖Cache和Shared Memory。如果是传统手段实现的话,肯定是一层一层的贴图,像这种顺序比对忽略的操作肯定是要一来原子操作+数列和归约的。原子操作跟内存控制一样,必须通过固定单元来实现,Shader只是运算器,不能达成控制功能。

上一页 1 ...4 5 6 7 8 ...14 下一页
频道热词:华硕主板  Intel  AMD  
视觉焦点
蓝宝 HD5870 1G GDDR5
显卡评测热点
排行 文章标题
TOP10周热门显卡排行榜
  • 热门
  • 新品