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

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

● 第二章 统一渲染架构详细解析

    R600在架构上最大的特点就是它采用了第二代统一渲染架构(Superscalar Unified Shader Architecture )。这种架构院源自于Xbox360使用的Xenos图形核心。本章节将为您介绍一下统一渲染架构的特点。


第一节:3D图形创建原理

    在为大家介绍R600的统一渲染架构之前,为了让更多的朋友能对统一渲染架构的革命性创新有更深入的了解,我们先介绍下图形管线,来看看传统的显卡管线工作原理,3D画面是如何最终展现在屏幕上的。

    3D程序从载入到展现在屏幕上,在传统图形管线中是经过下列四个步骤的:

● 第一步:应用程序载入/ 场景构建
    
    其中包含了场景/几何数据库遍历、对象的运动,观察相机的运动和瞄准,对象模型的动画运动,3D 世界内容的描述,对象的可见性检查,包括可能的遮挡剔除、细节层次的选择 (LOD)等处理。

    简而言之,这一步主要是决定在游戏中有哪些对象, 它们的模型、使用的纹理,可能在什么动画帧,以及它们在游戏世界里的位置。 也决定照相机的位置和方向。

● 第二步:几何处理

    几何处理过程也就是传统意义上的坐标转换和光源(Transforms&Lighting )
。其中包含几何模型的变换 (旋转,平移, 缩放),从模型空间到世界空间的变(Direct3D),从世界空间到观察空间变换,观察投影,细节接受/ 拒绝 剔除,背面剔除 (也可以在后面的屏幕空间中做),光照,透视分割 - 变换到裁剪空间,裁剪,变换到屏幕空间等几个步骤

{imageTitle}
3d 骨架模型

    在第二步中,计算机处理的内容是几何模型,不包括贴图和其他素材,因为只有骨架确定了位置和形状,往上面贴图才是有意义的。我们所说的“骨架”,也就是几何模型,在电脑里存储的信息就是确定这个几何模型的顶点的数据。因为我们知道,两个点能够确定一条线,三个点能够确定一个面,也就是一个三角形,而多个三角形可以组成一个多边形,多个多边形就确定了一个几何模型。

{imageTitle}
 
三角形蒙皮

    而且,3D画面中的任何一个顶点都有一个坐标,当此物体运动时,它包含的顶点坐标发生变化,这指的就是几何模型的变换。这个步骤里每个模型的每一时刻的顶点位置都要被重新确定。

{imageTitle}

    然后进行的是观察投影(坐标转换),每一个时刻的3D几何模型将会由3D状态转变为2D状态,具体的方法就是将3D几何模型的每一个顶点的三维坐标通过投影的方法转换为二维坐标。这个过程中,做转换用的平面是根据玩家看游戏的方向和视角决定的。这个过程中电脑并不会进行贴图的操作。甚至每个顶点之前也仍然都是独立没有关系的。

{imageTitle}
 
投影

    这个步骤中包含了隐面消除技术(HSR),现实处理时还常加上背面剔除来提高效率。现实生活中,当你观察A物体的时候,如果物体B在你和A物体之间,那么你的视线就被物体B所遮挡。在3D技术发展的初期,整个3D场景所包含的顶点都被进行坐标变换并进行处理,这样一来,很多最终不会被显示在屏幕上面的模型也会被处理。所以研究人员发明了Z缓冲器算法来提前进行Z轴判断,也就是判断每个顶点的前后关系,从而决定究竟哪些顶点会被显示。Z缓冲器其实就是另一种帧缓冲器, 不同的是帧缓冲器存的是画面上每个像素的光亮度, 而Z缓冲器存的是画面上每个像素内可见表面采样点的深度。后来还有扫描线Z缓冲器算法,用于消除早期Z缓冲器算法内存消耗严重的缺点。

{imageTitle}
 
隐面消除

    3D游戏中除了场景与物体还需要灯光,没有灯光就没有3D物体的表现,无论是实时3D游戏还是3D影像渲染,加上光照的3D渲染会引入大量的数学计算。在硬件T&L问世之前,位置转换和光照都需要CPU来计算。ATI从REDEON 256开始支持硬件T&L功能,从而把CPU从繁重的数学计算中解脱出来。后来,在硬件T&L但元为顶点着色单元所取代,这次REDEON X2900XTX的发布,带来的又是一场全新的革命,统一渲染架构下的64个5D Unifide Shader运算单元理论上都可以用作顶点的运算。

● 第三步:三角形生成
  
    这个过程就是将已经转换为二维坐标的点根据他们之间的关系,构建成为三角形,也就是上一步骤中产生的骨架模型被附着一套三角形网格,这一过程也就是所谓的蒙皮,为下一步的贴图做准备。蒙皮过程需要进行计算普通或是相切的向量,并且需要骨架的节点被转化,因此他们与基础形态的关节是相关的,基础形态的关节会被转化后用于生成动态的网格。

{imageTitle}

 一个简单的人物模型有5000多个多边形

{imageTitle}

 一个复杂的人物模型会有多达两百万个多边形

    构建三角形的这个过程常常称之为Setup,不论在GeForce 256发布前后,这个部分都是显卡的性能衡量的重要指标,也就是“三角形生成能力”。

● 第四步:渲染/光栅化

    首先是处理原始的贴图或者材质素材,简单的而言就是根据需要把贴图处理一下,大多数情况是把贴图斜向做透视,说的明白一些就是把图片变变形状。这个过程中,我们常常提到的材质过滤(Texture Filtering,包括二线型过滤,三线性过滤,各项异性过滤)就是在这里做处理的。特别是各向异形过滤在做高等级处理的时候,消耗资源也相当的大。
  
    应用程序经常需要把纹理贴到几何体上并使texel直接映射到屏幕上的像素。例如,以一个需要在纹理中显示文本的应用程序为例,为了使纹理中的文本能清晰地显示,应用程序需要以某种方式确保映射到几何体上的texel不受纹理过滤的影响。如果无法保证这一点,那么得到的图像通常会是模糊的,如果纹理过滤方法为最近点取样,那么可能会产生粗糙边缘。为了统一像素和纹理取样,并同时支持图像和纹理过滤, Direct3D的像素和纹理取样规则经过了精心定义,但这也使得把纹理中的texel直接映射到屏幕上的像素成为一个相当有意义却又艰难的挑战。

{imageTitle}
 
材质过滤

    当然,这个过程随着可编程像素单元问世后变得更加复杂,实时的阴影、光照计算,甚至根据法线贴图做虚拟的3D贴图技术,都是Pixel Shader处理的内容,所以Pixel Shader从问世后就成文显卡中对性能影响最大的一个部分。上一代的R580显示芯片提供了多达48个4D Pixel Shader单元,不过在R600中,弹性的统一渲染架构让可进行Pixel Shader处理的单元最大增加到理论上的64个5D Unifide Shader单元。

    第二,对三角形进行像素的填充,将处理好的每一个象素填充到三角形中,在具体的执行操作的时候其实几乎是和Pixel Shader对像素的计算同步运行的。处理一些像素,就填充一些,然后再运行Pixel Shader处理一些象素。

    这个过程处理的数据也比较多,如果FPS确定、分辨率一定,数据量也就固定了。当然如果括反锯齿的处理,那么需要的像素数据量也会倍增。这部分在当年3D加速芯片问世的时候也是显卡性能的另一个最重要的指标,直接决定了游戏的显示速度。这也是我们常说的“像素填充率”指标。

{imageTitle}
 
像素填充的测试

    在“隐面消除技术”出现之前,这个步骤还要进行根据Z轴信息做Z轴判断,看哪个象素在前面才画出来,哪个象素在后面就不画出来。不过这种低效率的做法早已经被淘汰了。

{imageTitle}{imageTitle}
 
Alpha混合处理前后的对比

    最后,是光栅处理以及帧缓冲和输出,这个步骤起的作用是将已经着色的象素进行透明度(Alpha)混合等处理,这个过程就相当于最终决定显示什么图像的最后的操作,所以也非常的重要。在这个部分,显示芯片也需要投入大量的运算,所以显示芯片也使用了多个ROP单元同时运行的设计。

    经过ROP处理后的数据就是即将显示到显示器上的画面了,显示卡会将这些数据存入一个帧缓冲后再进行输出,由于帧缓冲的速度非常快,所以我们是感受不到的。

    到这里,整个显卡管线的处理过程就算是完成了,接下来就是通过RAMDAC转换为模拟信号,通过D-Sub接口输出到显示器上。或者通过TMDS的运算转换为TMDS信号,通过DVI输出到LCD上。

{imageTitle}

0人已赞
第1页:完美DX10!ATI新王者HD2900XT权威评测第2页:完美DX10!ATI HD2000系列评测提纲第3页:2007显卡年!AMD/NVIDIA决战图形市场第4页:奋起直追!全新Radeon HD 2000产品线解析第5页:功能化发展!Radeon HD2000系列亮点逐个看第6页:第二章:统一渲染架构解析第7页:第二章/第二节:革命!R600的统一渲染架构第8页:4第9页:第三章:DirectX发展回顾以及DirectX10详细介绍第10页:第二节 DX10的架构特性 以及带来的好处第11页:第三章/第三节:ATI 3Dc功能回顾第12页:3第13页:3第14页:3第15页:3第16页:集众家之长,R600架构总览第17页:R600架构分块介绍第18页:Setup Engine(装配引擎)第19页:Ultra-Threaded Dispatch Processor(超线程分配处理器)第20页:Stream Processing Units(流处理器)第21页:R600的超标量SIMD架构第22页:4第23页:5第24页:ATI片内缓存相关技术第25页:Memory Control(显存控制器)第26页:第六章 R600的神工鬼斧——Tessellation技术第27页:第六章\\第二节 传统的虚拟3D技术回顾第28页:第二小节 凹凸贴图 Bump mapping第29页:第六章\\第二节\\第三小节 法线贴图(normal mapping)第30页:视差贴图技术parallax occlusion mapping第31页:位移贴图(displacement mapping)第32页:Ati的独门秘籍 Trumform 第33页:Tessellation技术第34页:神奇的小数点——细分网格算法中小数位的意义第35页:Tessellation效率的源泉——控制“笼子”第36页:Tessellation技术的流程第37页:Tessellation技术的应用和前景第38页:1第39页:AA发展第40页:CFAA第41页:123第42页:ATI显卡产品形象代言人——Ruby四度出击第43页:X800 & X850 Ruby第44页:DX9C的最高境界 X1800 Ruby第45页:R600 DX10 Ruby高清晰截图赏析第46页:R600 DX10 Ruby引擎和技术解析第47页:23第48页:R600 DX10 Ruby所用图形引擎揭秘第49页:1第50页:2第51页:第九章\\第二节第52页:庞大的运算资源,R600单卡就能物理加速第53页:3第54页:第四章:AMD高清视频功能解析第55页:22第56页:第三节 硬件视频加速第57页:第四节 UVD 引擎解码流程第58页:第五节 UVD测试第59页:第一节 电脑音频的数码之路第60页:第二节 HDMI数字音频技术背景第61页:第三节 各种显卡HDMI接口方案第62页:第四节 R600系列方案第63页:第五节:实战R600音频播放第64页:第六节 HD 2900XT怎么用?第65页:显卡介绍第66页:123123第67页:显卡介绍第68页:123第69页:显卡介绍第70页:3第71页:123123第72页:测试系统配置和设置第73页:阿苏大发送颠覆第74页:113123第75页:4第76页:05第77页:06第78页:游戏第79页:游戏第80页:123第81页:6第82页:6第83页:交火第84页:功耗测试第85页:1第86页:第二节 客观,公正,专业,全面,泡泡网为您带来最权威的DX10测试第87页:第三节 Call of Juarez游戏DX10测试 第88页:第四节 DirectX SDK测试(微软官方2007年四月版)第89页:第四小节:Draw Predicated第90页:第七小节:MotionBlur10第91页:第十小节:Skining 10第92页:第十四章 总结 另觅蓝海!AMD让ATI看得更远第93页:123

关注我们

泡泡网

手机扫码关注