泡泡网显卡频道 PCPOP首页      /      显卡     /      评测    /    正文

七年磨一剑!DX11之ATI独门绝技全解析

2007年R600:Tessellation卧薪尝胆

    现在看来,R600核心是一款非常失败的产品,功耗高、发热大、性能低、AA效能差,但是当R600(320SP)的架构扩充至RV770(800SP)的规模时,就没人敢轻易对这套体系架构评头论足了。事实上R600的失败在于冒险采用80nm工艺、512Bit环形总线、以及Shader AA,而其核心架构的运算能力并不输给竞争对手,因而一直被沿用至RV670、RV770还有未来的RV870身上。

    R600除了完全按照DX10和统一渲染架构设计外,还整合了一个特殊的模块:Programmable Tessellator,可编程拆嵌器。由于这个可有可无的模块占用晶体管并不多,因此AMD之后的全系列DX10 GPU中都集成了可编程拆嵌器。

完美DX10!ATI新王者HD2900XT权威评测
R600核心架构图

    这个可编程拆嵌器可要比XBOX360高明很多,R600核心能够根据3D模型中已经有的顶点,根据不同的需求,按照不同的规则,进行插值,将一个多边形拆分成为多个多边形。而这个过程都是可以由编程来控制的,这样就很好的解决了效率和效果的矛盾。

完美DX10!ATI新王者HD2900XT权威评测
Tessellation技术让模型变得更加细腻

    现在我们就更容易理解Tessellation技术是怎么回事了,它是一种能够在图形芯片内部自动创造顶点,使模型细化,从而获得更好画面效果的技术。Tessellation能自动创造出数百倍与原始模型的顶点,这些不是虚拟的顶点,而是实实在在的顶点,效果是等同于建模的时候直接设计出来的。

    R600的Tessellation技术支持多种决定插值顶点位置的方法来创造各种曲面:
 
1. N-Patch曲面,就是和TRUFORM技术一样,根据基础三角形顶点的法线决定曲面。
2. 贝塞尔曲面,根据贝塞尔曲线的公式计算顶点的位置。
3. B-Spline, NURBs, NUBs 曲线(这三种曲线均为CAD领域常用曲线,在Maya中均有相应工具可以生成)
4. 通过递归算法接近Catmull-Clark极限曲面。

    有了多种无比强大的曲面生成技术,在加上可编程的设计,程序员在开发游戏之初就能根据需要制定相关模型采用何种细分法则,从而避免出现变形和失真的问题。

完美DX10!ATI新王者HD2900XT权威评测

    而且,Tessellation过程被安排在了顶点着色之前,这就意味着Tessellation所创造出来的顶点全都可以参与Vertex Shader的处理和运算。这些顶点所带来的所有细节,将具备所有特效。

DX10魅力四射!3部R600 Demo视频下载
基本的顶点模型,最终生成效果很幼稚

DX10魅力四射!3部R600 Demo视频下载
经过Tessellation智能拆嵌之后,模型精细了很多

完美DX10!ATI新王者HD2900XT权威评测
拆嵌后再辅以各种阴影及着色效果,从而以很小的代价达到CG级别画面

    在R600发布时,AMD拿出了一款CG级别实时渲染的Demo,其中被积雪所覆盖的山体就是由Tessellation生成的。以往的演示Demo都是片面注重对主角的修饰,而背景往往只使用简单的纹理贴图,而R600的这个Demo其背景和环境的精细程度甚至超越了主角Ruby。


HD3000/HD4000继续支持Tessellation

    可惜,时至今日,只有ATI的官方Demo使用了自家的Tessellation技术,还没有任何一款PC游戏支持这项被孤立于DX10之外的非主流技术,看来仅靠AMD还是孤掌难鸣的。

0人已赞

关注我们

泡泡网

手机扫码关注