第五页:DirectX 10.1:画面和纹理方面的改进
画面和纹理方面的改进:
DX10.1 的主要优点就是提高了画面质量。DX 10.1 技术上的突破为支持更高级别的单画面细节、应用内容强度增加和更高清晰度的监视提供了帮助,比如在市场上越来越流行的宽屏和高清晰度监视。 随着高清晰度画面质量成为了标准,DirectX 规范的升级帮助我们朝着逼真画面质量迈出了很大一步。 DX10 至 DX10.1 的一些主要升级如下方所述:
• 每个渲染目标的混合: DX10 允许对存储在缓存中的每个渲染目标使用一个单独的混合因子。 在 DX10 中的多渲染目标(MRT)的实现中,画面中每个目标可拥有相同的混合因子。 随着 DX10.1 中每个渲染目标混合的引入,画面中每个目标均有自己独特的“外观和感觉”,使每个图形(渲染目标)具有更加真实的形象。
• 真实光照/阴影渲染: 用光照和阴影效果来渲染真实画面的方法有一些,其中包括光/影映射、光线跟踪和使用全局照射算法。 光照/阴影映射仅提供直射光照,而其它两种方法使用直射和非直射光来形成更加真实的效果。 前两种方法在其计算速度和最终画面质量上均有优点和缺陷。 Chrome 430 / 440 处理器使用硬件对全局照射算法进行加速,该方法克服了其它两种方法的不足,在速度和质量上明显领先。 DX10.1 引入了一些新的特性,比如纹理立体绘图序列,其使全局照射方法在光照/阴影百映射和光线跟踪方法的优点之上得以扩展。 这些先进技术共同在计算复杂性和生成高质量图形画面之间形成了绝佳的平衡。
a:光照/阴影映射(直射光)基于每个光源的视点对每个目标进行渲染. 每个象素均根据光照强度、色彩、可见性和纹理(表面形状和材质)进行估计,从而获得象素的最终值。 不在光源直射路线上的象素视为被阴影覆盖。 这种方法对于光源数量很少的任何画面的快速渲染都很有效,但画面细节(反射和阴影)受损,因为图形处理器(GPU)需要渲染单独的立体图形以获得反射效果。 在此方法中,未获取非直接光源,因此不可能对画面形成额外的照片逼真效果。
b:光线跟踪方法从一个视点对每个象素运用直接路线(光线),并在得出象素最终值中考虑画面中所有光源的累加。 且对画面中每个光线进行测试,看其是否与任何目标交叉。 如果发生冲突,那么就对象素值进行更新,并从冲突点重新投射新的光线。 重新投射光线的值取决于目标材质属性、颜色、亮度和其它相邻光线的值。 这种方法产生了跳动光线效果,具有真实折射和阴影效果。 这一过程形成了高质量的光照和阴影效果,但计算复杂,每个象素对渲染器占用较大,保存中间象素值和位置需要的数据结构等,使光线跟踪方法仅对具有最少细节的基本画面使用比较理想。对高刷新率、高清晰度和较多细节的动态画面使用光线跟踪方法将增加 GPU 的负担,使其运行变慢。 GPU 速度变慢的程度非常之大,因此为了提高帧率,软件商经常要用均匀照射信息来进行大致估计,以表示非直接光源的阴影和反射。 这些估算提高了图形处理性能,但负出了画面质量和细节的代价。
c:全局照射方法可产生逼真的光照效果。 该方法包含两种用于光照/阴影映射的直射光源,这与前两种方法相似,但这种方法还像光线跟踪方法一样渲染非直射(反射)光源。 纹理立体绘图序列的引入,通过有效的实时渲染,极大地克服了光线跟踪方法中硬件负载大的问题。 每个画面均被分成工个 3D 立体序列,立体的每个表面均以低清晰度和低的细节级别渲染,以便于存储。 然后纹理立体图形转换成为球面表示,由此,用较小计算量可轻松确定每个表面的方向、亮度和颜色。 这一运用同时能够在一个目标向另一个靠近时根据光线衰减实现边线的光滑环闭,还能够在抛光表面上实现逼真的反射。 序列的质量级别、细节、单个单晶体图形尺寸和总体尺寸均可按比例变化,从而满足性能需求、视觉质量和显示设置的要求。 在 DX10 中,同一时间只能对一个立体图形进行操作。 在DX10.1 中,可将一个包含多个立体图形的整体序列导入进行并行操作。 这使图形处理器的渲染器硬件始终处理工作中,并产生了更高的渲染效率。
• 顶点渲染器输入/输出大小增加: 运用了新的 DX10.1 API,每个顶点渲染器可最多支持 32 个 128 位值,提高了顶点处理的吞吐量和性能。 在 DX10 仅支持 16 个 128 位值转换成/转换
自顶点渲染器。
• 新的细节标准(LOD)指令: 在统一的 DX10.1 结构中,加入了新的 LOD 渲染指令,以根据纹理尺寸、距离和重要性分离出画面中有关纹理的信息, 对于不同细节级别的纹理,Chrome 图形处理器可改变渲染途径数量,以获得视觉质量和渲染性能的平衡联合。 LOD 渲染器指令返回一个 LOD 值,该值可用于进行纹理过滤,且根据此返回值、观看条件和渲染源,图形处理器可以最优化的排列定位渲染器,从而渲染出高质量、细节化的纹理,同时适应可定制的纹理过滤器。 应用程序开发者现在已比使用上一代硬件时对硬件和每帧的视觉效果能实施更多控制。
• 现有格式的更新: SNORM 格式可直接混合,而不需要转换为其它格式再混合。 这有助于在转换过程中提高数据精确性。 DX10.1 API 还允许从未压缩格式至块压缩格式逐位拷贝,这有助于提高数据吞吐量和压缩性能。