内容导航 第1页:前言、SMARTSHADER 2.0 DirectX 9.0 & OpenGL 第2页:Radeon 9700 VPU详解 第3页:ATi Radeon 9700显卡 第4页:特别注意:显卡的安装 第5页:传统的包装和丰富的内容物 第6页:驱动程序
前言
自从ATi于7月18日发布了Radeon 9700全世界的硬件Fans和游戏玩家就开始对于这一款近乎于神话的GPU充满了关注和期待。8月份,ATi更是在北京香格里拉饭店举行了隆重的发布会,使得国内的ATi用户也感觉这款GPU的距离越来越近了。随后的一段时间里,ZOL也密切的关注着业界的动向,并且在第一时间拿到了ATi送测的Radeon 9700样品。
SMARTSHADER 2.0 DirectX 9.0 & OpenGL
在介绍Radeon 9700之前,我们应该对于这三个名词有所了解。
SMARTSHADER 2.0 SMARTSHADER是ATi Radeon 8500开始引入的一个名词,它其实是来源于DirectX 8.0和DirectX 8.1。所谓的Shaders(ATi的中文技术白皮书中把它叫做“遮蔽器”或者“屏蔽器”,下面我们还是称之为Shaders)其实就是用于处理计算机图像的一段指令集,有点类似于CPU中的MMX、SSE等指令集,它们的出现可以提高游戏开发者的效率,同时也可以把CPU从繁重的图像处理中解脱出来,让GPU利用这些指令集来进行更高效率、更高精度的运算。SMARTSHADER 2.0则把DirectX 9.0的特性综合进来来提供更加优良的可编程能力、高精度与高效率的执行效能,
DirectX 9.0 DirectX 9.0是Microsoft针对Windows应用程序接口(API)的下一个主要修正版本。相对于DirectX 8.0来说,DirectX 9.0有着全新的编程思想,正是这种思想影响了现在的GPU厂商纷纷开发符合这种思想的产品,其中最大的变化就是可编程。虽然DirectX 8.0开始,可编程的已经开始应用,但是对于游戏开发者来说还不够完善和灵活,DirectX9.0则进一步拓展了这个方面。按照这种发展趋势来看,GPU或者VPU会越来越象一颗CPU。
DirectX 8.0
DirectX 8.1
DirectX 9.0
高维曲面(Higher Order Surfaces)
支持
支持
支持
N-Patches(TruForm)
支持
支持
支持
连续性镶嵌(Continuous Tessellation)
不支持
不支持
不支持
位移贴图(Displacement Mapping)
不支持
不支持
支持
Vertex Shaders
1.1
1.1
2.0
最大指令数目
128
128
1024
最大常数数目
96
96
256
流程控制
不支持
不支持
支持
Pixel Shaders
1.1
1.4
2.0
材质数目
4
6
16
最大材质指令数目
4
8
32
最大色彩指令数目
8
8
64
数据型态
整数
整数
浮点数
数据精度
32
48
128
OpenGL OpenGL是由ARB(Architecture Review Board)组织所制订的,ATi也是该组织的一员。OpenGL API是一种开放式的、跨平台的图像编程接口规范,目前最高版本是1.3,最令人期待的还是即将推出的2.0版的接口标准,将能更加充分的发挥新一代GPU的效能。
虽然DirectX 9.0还没有正式发布,不过ATi做为微软的研发平台提供商,同微软保持者密切的关系,所以在ATi向公众宣称不必担心Radeon 9700对于DirectX 9.0支持的问题。下面我们来较为详细的谈谈DirectX 9.0的新特性。
Vertex Shader 2.0 开始加入了一些高级语言的特性:流程控制。它也可以通过循环(loops)、跳转(jumps)与子程序(subroutines)等指令灵活、高效的执行Vertex Shader程序。比如,在一个简单的处理3D光影运算的Vertex Shader程序中,开发人员必须针对不同的环境来不编写不同的Shader程序,在2.0版中开发人员可以编写一个通用的光影Shadder程序,通过调用不同的子程序来实现不同形状、不同颜色的光影。
早期版本的DirectX Vertex Shaders规定Shader程序中最多只能有128个指令,而在2.0版中,这个数字提高到了1024个,这样的数目可以满足相当复杂的应用。当然,过于复杂的Shader程序的执行效率肯定会降低,所以Vertex Shader 2.0中还引入了一些新的函数,比如sines、consines与power函数,它们将能有效的简化Shaders程序。
Pixel Shaders 2.0 相对于Pixel Shaders 1.4版有了明显的改进,比如最多可处理 材质数目从6种提高到了16种,最高可容纳指令数目也从28个提高到了160个,这意味着Piexl Shaders程序复杂程度将会有进一步的提高,可以产生更加逼真、复杂的视觉效果--它可以精确的生成在半透明材质上的渲染效果,比如皮肤、大理石、蜡壮物等等。
Pixel Shaders程序生成的双色调效果
在Pixel Shaders 2.0中也增加了一些新的指令,比如通过提供平方根运算函数支持压缩凹凸贴图(Bump Maps),这比起传统的凹凸贴图更省内存,使得开发人员可以更多的运用这种贴图技术。浮点色彩格式 (Floating point color formats)也是DirectX 9.0中Pixel Shaders的一大改进。前一个版本的Pixels Shader只能处理整数型数值,所以象除法、平方根等运算都无法得到正确的或者说较为精确的结果。在这些应用中,红、绿、蓝都是使用8bit(0-255)整数来表现的,这样将导致颜色计算的误差相当的大。而在追求电影般画质的应用中,如此大的误差将是无法容忍的,而DirectX 9.0所支持的浮点色彩格式则可以提供更高精度的计算结果,比如16位的浮点数值范围,最小是 0.0000000000000001,最大为10,000,000,000,000,000!
高级32bit Frame Buffer模式 可以使得色彩比32bit色更加丰富。多重渲染物体(Multiple Render Targets) 也是新版本的DirectX 9的一个特性,它突破了原来Pixel Shader程序一次只能输出一个色彩数值的限制,允许一次可以输出4个单独的色彩数值,这将极大的提高Pixel Shader程序的效率,
上图所示的是一个使用Pixel Shader 2.0程序来实时处理3D图像的描边滤镜。
在DirectX 8.0中引入了称为N-Patches的表面处理技术,这使得原本由较少多边形构成的物体看起来更加圆滑,ATi的TRUFORM技术就应用了这种技术。在DirectX 9.0中则延续并强化了这个概念。位移贴图(Displacement Mapping) 与连续性棋盘镶石饰(Continuous Tessellation) 就是其中的新的技术,它们可以使得物体更加逼真。