关键词不能为空

当前您在: 主页 > 英语 >

GPU和Shader技术的基础知识

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-13 12:10
tags:

-

2021年2月13日发(作者:eoa)


本连载的主要目的,是介绍最新的


PC



GAME


所使用的最新


3D

< br>图形技术的发展趋势。




暂时的方针是,首先是考虑介绍比较新的


PC Game



PS3



XBOX 360


等新时代游戏机的游


戏所采用的技术。

< br>



那么首先,想回顾一下近年来的

3D


图形技术的进化历史。



< /p>


实时


3D


图形技术的进化历史

< p>



目前,不仅索尼的


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


图形系统。从这开始


3D


图形才真正在游戏 里被有效的利用。




要说这个时代具 有代表性的作品就是


NAMCO


(南梦宫)



winning run


」< /p>


(1988



)



SEGA(



)



[Virtual Fighter

< br>(


VR


战士)」


(1992



)


。那时候虽然也使用多边形模型来实时 表现,


但多边形数很少,采用的


lighting


也是以多边形为单位的


Flat Shading


为主流。




但是,游戏和


3D


图形的相遇,确立了


[


实时


3D


图形


]


这个领域,并一直支援着它的进化。





NAMCO



[RIDGE RACER(


山脊赛车

)](1993



)


里,


应用


Texture Mapping



3D


模型


(在


多边 形上贴上贴图)可以自由运动,就好像是从积木集合体那样的


3D


图形开始,一下提高


了真实性。





[Virtual Fighter



VR


战士)



(1993



)


< br>只是以多边形单位


lighting


为基本的

< p>
[Flat Shading]



也没有


Texture Mapping


这个概念,因此,脸和服装都使用



某种形状的多边形


来绘制


(C)SEGA





1990


年代中期~家用游戏机开辟 了面向消费者的实时


3D


图形。




当时,除了特殊的图形工作站,如果限定在

< br>[


游戏平台


]


,那么当时


3D


图形技术最先进的是


街机游戏系统。


然而,


1994


年发生历史性的逆转,


那就是


SONY PlayStation



PS1





SEGA


Saturn


的登场。




尽管分辨率不是太高,但提供给消费者对应


Texture m apping


的实时


3D


图形的意义很 大。


在这些主机上,实时


3D


图形和< /p>


3D


游戏图形以并行的关系性,开始急速的进化。




另一方面,很遗憾,这时适合普通消费者的


PC



3D


图形技术 ,要比游戏机大幅度落后。


适合普通消费者的


PC 3D


图形技术真正的普及,


是在


1995


年登场的新操作系统,


Windows95


的时 代之后。




微软发表了把

< p>
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

< p>
业界团结一致的致力于强化


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



Graphics Processing Unit

< p>
),以后也就这么定下来了。另外不得


不说句闲话,


GPU


的这个称呼,发音和文字上都和


CPU(Centra l Processing Unit)


对应着。


作为对应


DirectX 7



GPU



NVIDIA



GeFo rce 256



ATI


的第一代


RADEON


登场了。





搭载了「


NVIDIA GeForce 256


」的显卡



< br>实时


3D


图形技术上,虽然这之前感觉游戏机一方走在更 前面一些,但是从进入


DirectX 7


时代开始,形势完全 被


PC


逆转了。这是因为,家用游戏机都被普及性优先的战略所 制约,


只能以


5


年为一个周期变更硬件 配置,相对的,


PC


每年都可以吸收最新技术完成进化。还


有,


当时游戏机的份额之争是在


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

< p>
业界,不管怎样都维持了每年一定会积极采用全世界研究者们创新


出来的最 新


3D


图形技术的基本方针。说到原因,对最新技术牵引的


PC


业界来说,导入像


家用游戏机那样的缓 慢的进化循环是很难的。


PC


一方每次在新

GPU


上搭载新机能,



Dire ctX


就要为了可以利用这个机能新添加的


API


,这使


DirectX


不断的增长。




此外,实现的新功能在实际应用里使用是没有限制 的,这样的功能作为


DirectX


内的化石功


能持续残留着。


GPU


则也要为了这些化石功能消费晶 体管,不合理的成本和电力消耗是没


有意义的。




就在这时,设法把图形处理用软件方式实现,并导入到


GPU


里的想法被提出了,从而有了


加入


[shader


可以编程实现


]

< p>
这个含义的


,[


可编程着色器

](Programmable Shader)


的概念


(




)





世界第一个面向消费者的采用可编 程


Shader


架构的


GPU



GeForce 3







GeForce 3


的人脸动画


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


有担当顶点处理


/


多边形处理的


[


可编程顶点着色器


]( Programmable Vertex


Shader)


,和处理像素单位的阴影和处理相关纹理的


[


可编程像素着色器


] (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

< p>
的还有英特尔


(但集成到芯片


组里)



S3


公司。


支撑


PC


图形黎明期的


3dfx

公司,


2000


年被


NVIDIA


收购,


类似的


Number


Nine


公司也在


1999

年倒闭了。


Windows 9x


时代,在日本有着极大人 气的


MATROX


公司,


虽然也最后投 入了


DirectX 8



GPU



Parhelia


」系列,但并不成功, 此后就远离了对应最


新技术的


GPU


开 发。


面向专业工作站用


GPU



3Dlabs


公司在


Windows 9x< /p>


时代虽然也投入


了对应消费者的


GPU< /p>


,但也是徒劳,


2002


年被

< p>
Creative


公司收购,


2006

< p>
年宣布退出专业



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


)」


(


育碧



UBI SOFT)


,让世界了解了基于


可编程


Shader



3D


图形的可能性。



200 2



/2003


年~

< br>


Shader Modle 2.0


和第一期


DirectX 9


时代




DirectX 8


时代的


programmable shader(


可编程着色器


)


,因为每个

GPU


制造厂商有若干个


分支版本混合在一起的关系,


所以被规定为


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


的阴影处理的计算精度和能够表现的动态范围也扩展了。这


个扩展决 定了未来被称为


[


高动态范围渲染


] (High Dynamic Range Rendering:HDR


Rende ring)


的产生,成为实时


3D


图形 新趋势的契机。




DirectX 7/


硬件的


T&L (T:Transform



Lighting)


的第一代


GPU


,并且对应


DirectX


最 初的可


编程


Shader


< p>
GPU


都是从


NVIDIA


发布的显卡。相对的,


DirectX 9/SM2.0


对应 的


GPU



最初显卡是


ATI


发布的


Radeon 9700



都是让人感慨很深的事情。


虽然

NVIDIA


也投入了与


之对抗的


GeForce FX


,但制造上有问题,性能上也不利,


SM 2.0


时代在


ATI


的优势中过去


了。





首款对应


SM2.0



GPU



ATI


发布的


Radeon 9700


系列,后面的


9800


,低端的


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


时一样,产生了几个小型的分支。

< p>
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


的差距没有了。


还有,


< p>
Vertex Shader


还支持了可以访问


T exture(


纹理


)


的新技术「


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



GPU


,再次从


NVIDIA


那边登场了。




Radeon X800


系列,是对应


Vertex Shader 2.0a


和像


Piexl Shader2.0b


扩展改良的


SM2.0



G PU



2004


年是两大巨头步调不一 致,


用户混乱的一年。


在把


SM2.0


称为


“2.0”


的同时,

< p>
因为


ATI



NVIDI A


都独自扩张,也出现了细节版本号的不一致。




2004


年也是新的总线端口,「< /p>


PCI-Express


」被开始使用的一年。显卡的总线迎来从


AGP



PCI-Express x 16


总线的转移期。


2004


年~


2005


年,当用户要购买新图形卡或替换,在

选择「是


SM2.0(ATI)


,还是

SM3.0(NVIDIA)


」的同时,还要做


[



AGP


还是


PCI- Express]


这个纠结的抉择。




那么,


NVIDIA


在第


2


年的


2005


年投入了第 二代的


SM3.0


对应


GPU



GeForce 7800



系列。


作为一贯主张「


2004


年应该贯穿在


SM2.0


的成熟」的


ATI


,在


2005


年,比

< p>
NVIDIA


晚了


1


年半 的时候,


投入了自己首款对应


SM3.0



GPU



Radeon X180 0



系列。


但是


Radeon X1800


虽然支持


SM3.0


的基本特性,但却没有对应


VTF





接着,


2006



NVIDIA


发表第三代的对应


SM3.0



GPU



GeForce 7900


」系列,与之对抗


的是


ATI



Radeon X19 00


系列的投入。两个公司,虽然都是在前一代型号上



来定


位下一个性能提高的产品,除了性能方面以外也可以吸引眼球。再者 ,


ATI Radeon X1900


系列也结束了没有


VTF


的状况。




虽然两大巨头


GPU


厂商


ATI



NVIDA


都已经 推出对应


SM3.0



GPU


是一件好事,


不过关于


VTF

< br>的支持,两个公司的步调不一致。使得


SM3.0



VTF


成为了次要的功能,是否支持这


样的 主要功能,对用户和实时


3D


图形技术的进化给予了不小的影响 ,这成为迎接即将到来



DirectX 10


时代的一个大问题。(待续)





SM3.0


中,作为特殊功能而大受 欢迎的


[VTF]


。但是,因为


ATI


没有支持


VTF


VTF


的效果


只能在这个


NVID IA



Sample Demo


里看到。



在家用游戏机的世 界,


2005


年末微软推出作为该公司的第二代游戏机「


Xbox 360


」。图形


技术方面对应


DirectX 9/SM3.0


,接下来将详细描述其具体性能, 值得注意的是


Xbox 360


GPU(Xenos)


有着世界首个采用统一着色器(


Unified Shader


)架构的特征。


Xbox 360 GPU


是由


ATI


制造的,意外的是,和同时期


ATI


对应


PC


发 表的


Radeon X1800


系列设计完全不


同,这一点很有趣。之前推出的


Radeon X1x00

系列全部都没有对应


VTF


,不过,


Xbox 360


GPU


对应了。





微软「


Xbox 360


」。




-


-


-


-


-


-


-


-



本文更新与2021-02-13 12:10,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/650108.html

GPU和Shader技术的基础知识的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文