-
本连载的主要目的,是介绍最新的
PC
和
GAME
所使用的最新
3D
< br>图形技术的发展趋势。
暂时的方针是,首先是考虑介绍比较新的
PC Game
和
PS3
,
XBOX
360
等新时代游戏机的游
戏所采用的技术。
< br>
那么首先,想回顾一下近年来的
3D
图形技术的进化历史。
<
/p>
实时
3D
图形技术的进化历史
目前,不仅索尼的
P
S3
,微软的
Xbox360
,任天堂
的
Wii
这些最新的游戏机,以及最新的微
软
Windows Vista
的用户界面变成了
3D
图形,就连
NDS
和
PSP
等掌机,以及一部分最新
的移
动电话也支持了
3D
图形技术。
说来,实时
3D
图形是怎么进化着,并向未来发展的呢?今后,要长期和实时
3D
< br>图形打交
道的人,先试着整理基础知识吧。
1980
年代后半到
90
年代前半,
Flat Shading
到
Texture
Mapping
的时代。
在这之前
3D
游戏还没有应用,
基本上
[3D
图形
]
是用在技术训练的模拟,解释自然现象
或光学现象的学术研究,
比如说对影像表现的应用等,
在专业用途和学术用途的领域里进化
着。从
19
80
年代后期开始到
1990
年代,大
型游戏制造厂商在街机用途的游戏系统里采用
了实时的
3D
p>
图形系统。从这开始
3D
图形才真正在游戏
里被有效的利用。
要说这个时代具
有代表性的作品就是
NAMCO
(南梦宫)
的
「
winning run
」<
/p>
(1988
年
)
、
SEGA(
世
嘉
)
的
[Virtual Fighter
< br>(
VR
战士)」
(1992
p>
年
)
。那时候虽然也使用多边形模型来实时
表现,
但多边形数很少,采用的
lighting
也是以多边形为单位的
Flat
Shading
为主流。
但是,游戏和
3D
图形的相遇,确立了
[
实时
3D
图形
]
这个领域,并一直支援着它的进化。
在
NAMCO
的
[RIDGE RACER(
山脊赛车
)](1993
年
)
里,
应用
Texture Mapping
的
p>
3D
模型
(在
多边
形上贴上贴图)可以自由运动,就好像是从积木集合体那样的
3D
图形开始,一下提高
了真实性。
[Virtual Fighter
(
VR
战士)
」
(1993
年
)
。
< br>只是以多边形单位
lighting
为基本的
[Flat Shading]
,
也没有
Texture Mapping
这个概念,因此,脸和服装都使用
p>
”
某种形状的多边形
”
来绘制
(C)SEGA
。
1990
年代中期~家用游戏机开辟
了面向消费者的实时
3D
图形。
当时,除了特殊的图形工作站,如果限定在
< br>[
游戏平台
]
,那么当时
3D
图形技术最先进的是
街机游戏系统。
p>
然而,
1994
年发生历史性的逆转,
p>
那就是
SONY PlayStation
(
PS1
)
和
SEGA
Saturn
的登场。
尽管分辨率不是太高,但提供给消费者对应
Texture m
apping
的实时
3D
图形的意义很
大。
在这些主机上,实时
3D
图形和<
/p>
3D
游戏图形以并行的关系性,开始急速的进化。
另一方面,很遗憾,这时适合普通消费者的
PC
的
3D
图形技术
,要比游戏机大幅度落后。
适合普通消费者的
PC 3D
图形技术真正的普及,
是在
1995
年登场的新操作系统,
Windows95
的时
代之后。
微软发表了把
Windows
环境下的
Sound
,
Graphic
,
net
work
,
Game controller
< br>等多媒体
API
组件整合到一起的「
DirectX
」,
Windows 95
也采用了它。
DirectX
后面增加版本号的称呼<
/p>
也成为惯例、
Windows
环境下真正
的
3D
显卡开始普及。实时
3D
图形可以使用是在
1997
年发表的
[DirectX 5]
之后。
也正是这个时候,大型的
CPU/C
hipset
制造厂商
Intel
的新
图形端口
AGP
(
Accelerat
ed
Graphics Port
)
总线技术也投入实用化。
强大的图形芯片制造厂商
NVIDIA
推出了
RIVA 128
系列,
ATI(2006
年和
AMD
合并
)
推出了
RAGE 3D
系列。都深受欢迎。比
PS1
登场晚了
3
年,
PC
平
台终于有了可以和
PS1
同程度的实时
3D
图形。
NVIDIA
的「
RIVA
128
」
DirectX 5
時代、
「用
PC
玩
3D
游戏」<
/p>
并广为传播的
「
Quake II
」
(1997
年、
i
d software)msun;
(C)1997 id
Software
,
Rights
Reserved
。
DirectX 6
時代,
以显卡的经
典游戏而闻名的
「
Incoming
」
(1998
年、
Rage
社
) (C)Rage Games
Ltd
1998
。
1990
年代后期
~
DirectX
的急速进化历史
<
/p>
1990
年代后期,由于
PC
业界团结一致的致力于强化
PC
,使图形实现了急
剧的进化
1998
年,发表了整合了当时已经发表的各种实时
3D
图形功
能的
DirectX6
,次年
1999
年,
决定了今后
PC
< br>图形进化方向性的
DirectX
7
也被发表了。
直到
DirectX 6
以前,
3D
图形处理硬件,
只担当多边形和相应的像
素的计算
(光栅化
rasterise
处理),和处理贴上材质纹理等像素单位的处理。
DirectX 7
中,
实现了把之前
CPU
担当的顶点单位
(
多边形单位
)
的坐标变换处理和光照处理,
改由
3D
图形硬件来担当的结构。
特别是在那时,
把用图形
“
硬件
”
进
行
“
顶点单位的坐标变
换
(Transform)
和光照处理
(Lighti
ng)”
的结构,称作
[Hardware T&L] (T:
Transform L:
Lighting)
还有,因为这个契机,
PC
业界理解到
[
担当全部图形处理的处理器
]
的含义,开始把这样的
硬件(处理器)称为
GPU
p>
(
Graphics Processing Unit
),以后也就这么定下来了。另外不得
不说句闲话,
GPU
的这个称呼,发音和文字上都和
CPU(Centra
l Processing Unit)
对应着。
作为对应
p>
DirectX 7
的
GPU
,
NVIDIA
的
GeFo
rce 256
和
ATI
的第一代
p>
RADEON
登场了。
搭载了「
NVIDIA GeForce
256
」的显卡
< br>实时
3D
图形技术上,虽然这之前感觉游戏机一方走在更
前面一些,但是从进入
DirectX 7
时代开始,形势完全
被
PC
逆转了。这是因为,家用游戏机都被普及性优先的战略所
制约,
只能以
5
年为一个周期变更硬件
配置,相对的,
PC
每年都可以吸收最新技术完成进化。还
p>
有,
当时游戏机的份额之争是在
3
个制作商之间争斗,
相对,
PC
图形因为是在近
10
个制造
商
之间争夺,所以也对激烈竞争的根源起了不小的影响吧,但是,直到进入了
Direct
X 8
時
代,大淘汰的浪潮终于涌了过来,
GPU
制造厂商也缩小到数家。
「
GIANTS:CITIZEN KABUTO
」
(2000
年、
PLAN
ET MOON STUDIOS)
。在
DirectX 7<
/p>
时代,
PC
的实时
3D
图形的表现力完全凌驾于家用游戏机之上。
(C)2000 Planet Moon Studios. All Rights
Reserved. Planet Moon and the Planet Moon logo
are trademarks of Planet Moon Studios.
Giants, Giants: Citizen Kabuto, Interplay, the
Interplay logo, and
Corp.
All Rights Reserved. Exclusively licensed and
distributed by Interplay Entertainment
Corp. All other copyrights and
trademarks are the property of their respective
owners.
2000
年
Programmable Shader Architecture(
可编程着色器架构
)
展开帷幕。进入
GPU
制造商淘汰的
DirectX
8
时代。
虽然在
1998
年世嘉
?Dreamc
ast
,
2000
年受到期待的索尼<
/p>
?PlayStation2
开始发售,但是在
< br>3D
图形的处理能力上,它们和当时的
PC
图形保持在同等程度。
确实,虽然
PC DirextX
一方
有着先进性,但硬件(
GPU
)的急剧进化并不能牵引软件业界
,
PC
一方变得难以技术同步。
虽然那么说,但作为
PC
业界,不管怎样都维持了每年一定会积极采用全世界研究者们创新
出来的最
新
3D
图形技术的基本方针。说到原因,对最新技术牵引的
p>
PC
业界来说,导入像
家用游戏机那样的缓
慢的进化循环是很难的。
PC
一方每次在新
GPU
上搭载新机能,
Dire
ctX
就要为了可以利用这个机能新添加的
API
,这使
DirectX
不断的增长。
此外,实现的新功能在实际应用里使用是没有限制
的,这样的功能作为
DirectX
内的化石功
能持续残留着。
GPU
则也要为了这些化石功能消费晶
体管,不合理的成本和电力消耗是没
有意义的。
就在这时,设法把图形处理用软件方式实现,并导入到
GPU
里的想法被提出了,从而有了
加入
p>
[shader
可以编程实现
]
这个含义的
,[
可编程着色器
](Programmable Shader)
的概念
(
待
续
)
世界第一个面向消费者的采用可编
程
Shader
架构的
GPU
「
GeForce
3
」
GeForce 3
的人脸动画
p>
DEMO
,利用可编程着色器实现的基于法线贴图的凹凸贴图表现,
对
衣服的外形和人肌肤的褶皱也一样适用。
< br>那么,在上次最后介绍的是可编程着色器架构(
Programmable
Shader Architecture
),最
早支持它的<
/p>
DirectX
是
2000
年末发表的
DirectX
8
。
作为对应
DirectX 8
的
GPU
,
NVIDIA GeForce
3
,
ATI Radeon 8500
等被投入市场。还有,
2001
年微软推出的
< br>Windows XP
,也集成了
DirectX
8
。
可编
程
Shader
有担当顶点处理
/
p>
多边形处理的
[
可编程顶点着色器
]( Programmable Vertex
Shader)
p>
,和处理像素单位的阴影和处理相关纹理的
[
可编程像素着色器
] (Programmable
Pixel
Shader)
两种类型,在各自的着色器单元
(Shader
Unit)
上,有着把各种各样的
Shader
程序来实现为
3D
图形的处理的结构。
而且,
作为用语,
如果直接说
[Programmable Shader]
,
有指双方(<
/p>
VS
和
PS
)的
情况,或者是指这个整体的概念。
并且,由于这个
Shader
程序是软件,开发者可以自己制作
独创的
Shader
程序,就可以在
G
PU
上实现新的图形功能。
这样,即使不等待每年发表的最新
3D
图形技
术和下一代
GPU
登场,如果开发了实现这个
< br>技术的
Shader
程序(除了性能上有差别),那么也
会产生从实验或实践中获益。这个技术
传播后,也产生了硬件和软件业界就为再次互相靠
近的契机。
但是,
可编程
Shader
架构的实现,
要求
GP
U
制造厂商有很高的技术能力,
在接下来
DirectX
9
登场的时候,
支
撑了初期实时
3D
图形的
GPU
厂商的撤退变得很显眼,
淘汰的结果,
200
1
年以后,
GPU
制造厂商的两大巨头
NVIDIA
和
ATI
激烈的
GPU
战争变得突出。
现在,
除了两个公司以外还在开发对
应
PC
消费者的量产
GPU
的还有英特尔
(但集成到芯片
组里)
和
S3
公司。
支撑
PC
图形黎明期的
3dfx
公司,
2000
年被
NVIDIA
收购,
类似的
Number
Nine
公司也在
1999
年倒闭了。
Windows 9x
时代,在日本有着极大人
气的
MATROX
公司,
虽然也最后投
入了
DirectX 8
代
GPU
p>
「
Parhelia
」系列,但并不成功,
此后就远离了对应最
新技术的
GPU
开
发。
面向专业工作站用
GPU
的
3Dlabs
公司在
Windows 9x<
/p>
时代虽然也投入
了对应消费者的
GPU<
/p>
,但也是徒劳,
2002
年被
Creative
公司收购,
2006
年宣布退出专业
用
GPU
业务。
从芯片组制造厂商
SiS
派生出
的
GPU
专门制作厂,新成立了
XGI
公司,
2006
年,在对应最新技术的
新
GPU
开发方面,事实上也是退出了。
【
XGI
上海研发部先是被
ATI
收购,不久后
ATI
又被
AMD
收购。】
对了,在
DirectX 8
发表约<
/p>
1
年后的
2001
年末。微软发售了以
DirectX 8
为基础的游戏机,<
/p>
第一代「
Xbox
」。这里就不做过多讨
论了,不过,
Xbox
是世界上首个采用可编程
Shader
架构的家用游戏机。
第一代「
Xbox
」。搭载了以
GeForce 3
为基础的
GPU
,
API
使用
DirectX
。
Xbox
和
PC
两方发售的「分裂细胞(
Spl
inter Cell
)」
(
育碧
p>
UBI SOFT)
,让世界了解了基于
可编程
Shader
的
3D
图形的可能性。
200
2
年
/2003
年~
< br>
Shader Modle
2.0
和第一期
DirectX
9
时代
DirectX
8
时代的
programmable shader(
可编程着色器
)
,因为每个
GPU
制造厂商有若干个
分支版本混合在一起的关系,
p>
所以被规定为
SM1.x
。
然后到了
2002
年,
新的可
编程
shader
,
支持
2.0
规格的
DirectX9
发表了。
可编程
shader
的规格,用
Shader
Model(
简称
SM)
的关键词后面
加版本号来指出架构的方
式,近年来变得常态化。总之,例如
D
irectX 9
时代应该就是指「
SM2.0
」对应
GPU
兴起的
时代。<
/p>
SM2.0
可以执行比
SM1.x
更长的
Shad
er
程序,命令种类的增加,能使用的命令组合的限制
也被降低
了。还有,以前只有
Vertex
Shader
可以使用的浮点运算精度,现在
Pixel
Shader
上也可以使用了,
Pixel Shader
p>
的阴影处理的计算精度和能够表现的动态范围也扩展了。这
个扩展决
定了未来被称为
[
高动态范围渲染
]
(High Dynamic Range Rendering:HDR
Rende
ring)
的产生,成为实时
3D
图形
新趋势的契机。
DirectX
7/
硬件的
T&L (T:Transform
,
Lighting)
的第一代
GPU
,并且对应
DirectX
最
初的可
编程
Shader
的
GPU
都是从
NVIDIA
发布的显卡。相对的,
DirectX 9/SM2.0
对应
的
GPU
的
最初显卡是
ATI
发布的
Radeon 9700
,
都是让人感慨很深的事情。
虽然
NVIDIA
也投入了与
之对抗的
GeForce FX
,但制造上有问题,性能上也不利,
SM
2.0
时代在
ATI
的优势中过去
p>
了。
首款对应
SM2.0
的
GPU
,
ATI
发布的
Radeon 9700
系列,后面的
9800
p>
,低端的
9600/9500
系列也受到了
欢迎。
SM2.0
时代
ATI
的优势被确定,
这
时最被盼望登场的
VALVE
公司的大型游戏
< br>[
半条命
2
(
< br>Half
life 2
)
]<
/p>
,也是以
ATI
的
Radeon 9500/9600/9700/9800
系列作为最合适的
GPU
,展开了销
售战略。
[Half Life 2] (VALVE)
最初是预定在<
/p>
2003
年发售,几次延期后,在
200
4
年末被推出了,虽
说有好有坏,
HL
2
为
SM2.0
时代
< br>GPU
的构筑做出了贡献。
(C)2004 Valve Corporation. All rights
reserved. Valve
,
the Valve logo
,
Half-Life
,
the
Half-Life
logo
,
the Lambda
logo
,
Counter-
Strike
,
the
Counter-Strike logo
,
Source
,
and the Source logo are trademarks or
registered trademarks of Valve Corporation in the
United States and/or other countries.
All other trademarks are property of their
respective
owners.
2004/2005/2006
年~
Shader
Modle3.0
和第二期
DirectX
9
时
代
<
/p>
SM2.0
虽然说是
,但和
1.x
时一样,产生了几个小型的分支。
NVIDIA
在
GeForce FX
里组装了起名为可编程
Vertex Shader2.0a<
/p>
(
VS2.0a
)
和可编程
Pixel Shader
2.0a(PS2.0a)
。
DirectX 9
登场约
2
年之后的
2004
年,
微软并没有发表
DirectX
10
,
而是发布了新的
DirectX
9
的小幅升级版(
minor
version up
),完成了
Shader Model3
.0
,即
SM3.0
的对应。
SM
版本提高了<
/p>
1.0
,
但
Di
rectX
版本没有提高的原因有
[
为
了配合即将推出的
Windows Vista
一起推出
]
,
[
考虑到之后出
现的
ATI
制造的
GPU
没对应
SM3.0
」
等多种
说法,
但具体不明。
【
ATI
和
NVIDIA<
/p>
有着不同的公司风格:
ATI
从来不搞自
己的一套,
专心跟着
Microsoft
的标
准走,老大说一决不说二;而
NVIDIA
一直都喜欢推出自己的标准,不论是
SM
中
VS
和
PS
的版本、<
/p>
OpenGL
的
EXT
< br>、以及
Cg
和
CUDA
等,应该说是一个很有活力和野心的公司,在
推进技术的同时,也给行业
带来了某种程度上的混乱。】
实际
上,
SM3.0
里
Shader
程序的程序长度限制被取消,
Vertex
Shader
、
Pixel Shader
双方
的指令集也被扩充。
SM2.0
里动态条件分支和循环虽然只限在
VS
里,但在
SM3.0
中,
PS
里也可
以支持了。
实际上,
可编程
Shade
r
的
VS
和
P
S
的差距没有了。
还有,
从
Vertex Shader
还支持了可以访问
T
exture(
纹理
)
的新技术「
p>
Vertex Texture Fetching: VTF
」<
/p>
(
别名
Texture
link)
,在那时深受欢迎。
首款对应
SM3.0
的
GPU
,是
NVIDIA<
/p>
发布的
GeForce 6800
系列,
意外的是,
ATI
在
2004
年新登场的
GPU
、
R
adeon X800
系列,还是选择停留在只对应
SM2.0
。
NVIDIA
的
GeForce 68
00
系列。首款对应
SM3.0
的
p>
GPU
,再次从
NVIDIA
那边登场了。
Radeon
X800
系列,是对应
Vertex Shader
2.0a
和像
Piexl Shader2.0b
扩展改良的
SM2.0
的
G
PU
。
2004
年是两大巨头步调不一
致,
用户混乱的一年。
在把
SM2.0
称为
“2.0”
的同时,
因为
ATI
和
NVIDI
A
都独自扩张,也出现了细节版本号的不一致。
2004
年也是新的总线端口,「<
/p>
PCI-Express
」被开始使用的一年。显卡的总线迎来从
AGP
到
PCI-Express x
16
总线的转移期。
2004
年~
p>
2005
年,当用户要购买新图形卡或替换,在
选择「是
SM2.0(ATI)
,还是
SM3.0(NVIDIA)
」的同时,还要做
[
是
AGP
还是
PCI-
Express]
这个纠结的抉择。
那么,
NVIDIA
在第
2
年的
2005
年投入了第
二代的
SM3.0
对应
GPU
「
GeForce 7800
」
系列。
作为一贯主张「
2004
年应该贯穿在
SM2.0
的成熟」的
ATI
,在
2005
年,比
NVIDIA
晚了
1
年半
的时候,
投入了自己首款对应
SM3.0
的
GPU
「
Radeon X180
0
」
系列。
但是
Radeon X1800
虽然支持
SM3.0
的基本特性,但却没有对应
VTF
。
接着,
2006
年
NVIDIA
发表第三代的对应
SM3.0
的
GPU
「
p>
GeForce 7900
」系列,与之对抗
的是
ATI
的
Radeon X19
00
系列的投入。两个公司,虽然都是在前一代型号上
来定
位下一个性能提高的产品,除了性能方面以外也可以吸引眼球。再者
,
ATI Radeon X1900
系列也结束了没有
VTF
的状况。
虽然两大巨头
GPU
厂商
ATI
、
NVIDA
都已经
推出对应
SM3.0
的
GPU
是一件好事,
不过关于
VTF
< br>的支持,两个公司的步调不一致。使得
SM3.0
的
p>
VTF
成为了次要的功能,是否支持这
样的
主要功能,对用户和实时
3D
图形技术的进化给予了不小的影响
,这成为迎接即将到来
的
DirectX
10
时代的一个大问题。(待续)
SM3.0
中,作为特殊功能而大受
欢迎的
[VTF]
。但是,因为
ATI
没有支持
VTF
,
VTF
的效果
只能在这个
NVID
IA
的
Sample
Demo
里看到。
在家用游戏机的世
界,
2005
年末微软推出作为该公司的第二代游戏机「
Xbox 360
」。图形
技术方面对应
p>
DirectX 9/SM3.0
,接下来将详细描述其具体性能,
值得注意的是
Xbox 360
GPU(Xenos)
有着世界首个采用统一着色器(
Unified
Shader
)架构的特征。
Xbox 360 GPU
是由
ATI
制造的,意外的是,和同时期
p>
ATI
对应
PC
发
表的
Radeon X1800
系列设计完全不
同,这一点很有趣。之前推出的
Radeon X1x00
系列全部都没有对应
VTF
,不过,
Xbox 360
GPU
对应了。
微软「
Xbox
360
」。
-
-
-
-
-
-
-
-
-
上一篇:1.浪潮服务器系统安装教程20180623
下一篇:电脑显卡最全的基础知识大全