在九月末期发布Radeon HD5870时,我们在《DX11先锋!ATI HD5870震撼视觉超详解》一文中我们已经对DirectX 11技术进行非常详细的介绍,在这里我们我们就不再进行过多的重复叙述,不过还是有比较进行一个简单的回顾。
◆DirectX 11之:Shader Mode5.0
DirectX 11的Shader Mode5.0相对4.0版本只增加了五个新的指令集。如果你是图形编程开发人员,那么DirectX11却能给你带来比较的大帮助,因为Shader Mode5.0号称是面向对象的编程模式,同时函数和子程序代码的开发都比上一代进一步的简单方便。增加五个新指令集的目的也是为了让编程者可以进行更灵活的数据访问和操作。
在Shader Mode 5.0中Shader进行了类型的统一,除了4.0版本中就已经有的Vertex Shader、Pixel Shader、Geometry Shader外,还增加了Hull Shader、Compute Shader、Domain Shader三种新的Shader,后面会详细提到。
[查看详细技术解析]
◆DirectX 11之:Tessellation技术
Tessellation就是将一些小的几何模型组合到一起,新形成更复杂的几何模型,当然也更接近现实。Tessellation可以让某一图形变成立方体,并通过旋转让其从底部看起来像是个球形,这样的话无疑节省直接生成大量三角形所消耗的大量GPU资源。此外,图形的质量、性能以及可控性的提升也达到了一定的促进。
[查看详细技术解析]
◆DirectX 11之:DirectCompute11
实际上微软也有自己的GPU通用计算API,其称之为DirectCompute,但是在DirectX11以前却很少被提及,实际上在以前他的功能也确实比较弱。不过GPU通用计算的趋势已经是势不可挡的,在一些擅长的项目上GPU的性能甚至可以达到CPU的几十倍。因此在DirectX11中的DirectCompute11微软进行了大刀阔斧的改进。
DirectCompute11对GPU通用计算的使用更为广泛,像图像处理和滤波、OIT、阴影渲染、物理加速、人工智能、光线跟踪等等都是通过DirectCompute11来实现的。
对于图形编程人员来说,DirectCompute11应该会更受欢迎,因为它和DirectX中传统的图形处理部分是一个融合的整体,开发更为简便,同时微软提供的开发套件可靠性和通用性更高。
[查看详细技术解析]
◆DirectX 11之:OIT乱序透明
在DirectX11中微软引入了OIT(透明独立叠加)技术来实现多个透明物体的快速混合。通过OIT技术,可实现透明物体的快速正确排序。
[查看详细技术解析]
◆DirectX 11之:渲染后处理
DirectX11中渲染后处理的主要改进包括两个方面:一个是对于像素效果的处理,其中包含景深、运动模糊、色调映射、边缘检测、平滑、锐化,这几种效果的后处理都需要相邻的像素点周围取得数据,并进行相应的处理;另一个是对于后处理时一些复杂的编程方式进行的简化,例如在处理Alpha缓存时不再需要编程人员有非常高的技巧,同时在后处理时的内存共享使用上,DirectX11也进行了改善,性能比以前更好。
[查看详细技术解析]
◆DirectX 11之:HDR纹理压缩
在DirectX11以前HDR纹理是无法支持压缩的,因此应用大量的HDR效果的话,可能带来的是相当大的显存占用量,而DirectX11号称可以实现16bit HDR的纹理压缩,压缩比可以达到6:1。同时DirectX11中的纹理压缩技术还可以减少编程人员以往花费人力在8bit 纹理压缩上的工作,因为DirectX11本身的压缩就可以做到更好的图像质量,并且尤其在透明处理上效果更好。
[查看详细技术解析]
◆DirectX 11之:多线程
值得注意的是,DirectX11加入的多线程是对于CPU执行的多线程,而并不是对于GPU进行的多线程支持。也就是说DirectX11的这种多线程技术可能并不能加速GPU的性能,但是这样却可以提升线程启动游戏的效率,因为CPU的多线程处理能力被很好的利用时,GPU等待CPU提供数据的时间将大大减少。
[查看详细技术解析]