GPU-directX的发展历史

 

GPU发展历史:

GPU之前的基础:

1962

麻省理工学院的博士伊凡•苏泽兰发表的论文以及他的画板程序奠定了计算机图形学的基础。

1962-1984

没有专门图形处理硬件,由CPU完成

1984

专门的图形处理硬件(图形加速器):SGI公司推出了面向专业领域的高端图形工作站。

1984-1995

SGI又不断研发出了一系列性能更好的图形工作站。由于价格昂贵,无法面向消费级市场。在消费级领域,还没有专门的图形处理硬件,只有一些2D加速卡(用显示芯片来代替 CPU,整块整块的移动显存里的数据)。 

1995

第一块消费级3D显卡:3dfx公司发布的3D图形加速卡voodoo。

随后几年

AMD公司和ATI公司分别发布了自己的TNT系列与Rage系列显卡。它们已经从硬件上实现了Z缓存和双缓存,可以进行光栅化之类的操作,同时也实现了DirectX 6的特征集。

CPU终于从繁重的像素填充任务中解脱出来。但是当时顶点变换还是必须在CPU中完成,光栅化之后的像素操作也很有限。

GPU的出现:

1999

八月,NVIDIA公司发布了一款代号为NV10的图形芯片Geforce 256,是第一款提出GPU概念的产品。

Geforce 256所采用的核心技术有“T&L”(translateand lighting)硬件、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等。

同时期的OpenGL和DirectX7都提供了硬件顶点变换编程接口。
2001

微软公司发布DirectX8,包含了Shader Model(优化渲染引擎模式)1.0标准。

遵循ShaderModel的GPU可以具备顶点和像素的可编程性。

同年,NVIDIA发布了Geforce3,ATI发布了Radeon8500,这两种GPU支持顶点编程。但是这一时期的GPU都不支持像素编程,只是提供了简单的配置功能。 
2002

年底,微软发布DirectX9.0b,Shader Model2.0版本

2003年开始,NVIDIA和ATI发布的新产品都同时具备了可编程顶点处理和可编程像素处理器,具备了良好的可编程性。

从此,GPU具备了可编程属性,也叫做可编程图形处理单元。 
2006

包含与DirectX10的 Shader Model4.0发布

这一版本的Shader Model采用统一渲染架构,而不是单独的可编程顶点处理器和可编程像素处理器,是使用统一的流处理器

传统的架构中,两类处理器很难实现负载均衡,工作效率不高。在统一渲染架构下,流处理器可以执行不同的渲染指令,工作效率大幅提升,同时便于GPU开始由单纯的渲染转向通用计算领域。

这一时期,比较有代表性的GPU有NVIDIA的Geforce9600和ATI的Radeon 3850。

 

directX发展历史:

在DirectX诞生之初,业界已经有众多标准,其中有两个重要的标准:OpenGL和Glide

DirectX 1.0:

DirectX 2.0:

2.0最大的改善是在Direct Draw,DirectX2.0的D3D雏形基本完成

Direct X3.0:

1997年发布,2.0的简单升级版

DirectX 5.0:

微软没有发布DirectX4.0。首次引入了雾化的支持,让3D游戏更有空间真实感。除此以外在游戏系统的兼容性方面作了很大改善。

DirectX 6.0:

可以渲染出高分辨率下的32位色的3D效果,体现出AGP总线结构对PCI总线的优越性

DirectX 7.0:

最大的特色就是支持T&L。T&L让GPU来计算原来用CPU计算的位置转换和灯光。

DirectX 8.0

Shader Model 1.0

2001年微软发布,首次引入了“像素渲染”概念,同时具备像素渲染引擎(Vertex Shader)与顶点渲染引擎(Pixel Shader),实现动态光影效果。

DirectX 9.0:

2002年底微软发布,PS和VS的2.0版本,

增加对浮点数据的处理功能。取消了传统的硬件T&L单元

PS具备完全可编程的架构;增加硬件指令数量,同时操纵的材质数量;

VS通过增加Vertex程序的灵活性,显著提高了性能;

DirectX 9.0b:

Shader Model 2.0

DirectX 9.0c:

Shader Model 3.0

DirectX 9.0的改进版本,提升为Shader Model 3.0,像素渲染引擎3.0和顶点渲染引擎3.0的最大指令数分别从上一代的256个和96个提升到65535个

DirectX 10.0:

Shader Model 4.0

放弃之前版本中分离的像素渲染引擎以及顶点渲染引擎架构,而是通过统一渲染架构实现像素或者顶点渲染的功能,大幅度地提高GPU的资源利用率。

加入了新的几何渲染引擎,首次允许GPU动态创建或者删除图

提供了两种新的32bit浮点HDR格式,使得高动态范围比DirectX 9.0c更大,而且解决了HDR与AA两种特效之间的兼容性,同时还能够有效地节约显存带宽的消耗;

提供了对纹理阵列的支持,能够支持最高为8192×8192分辨率的贴图,同时访问的纹理数量达到了128个。

用于GPU通用计算应用程序接口DirectComputer诞生,Direct Computer 4.0。让GPU处理图形数据之外的其他数据。

 

DirectX 10.1:

 

Shader Model 4.1

由于当时的GPU无法承受10.0版本的负担,10.1改进大多集中在提高GPU的资源利用率,同时降低对GPU的负担

DirectComputer 4.1

DirectX 11.0:

Shader Model 5.0

在指令集方面进行了扩充和改进

以往的DirectX不能支持高动态范围图像(HDR)的纹理压缩,开启了HDR会使显卡的显存占用率上升到很高的水平,DirectX 11采用了针对HDR的BC6H压缩算法和针对RGB的BC7压缩算法。

提供了多线程处理技术,通过引入延迟执行这一指令,将一个渲染进程拆分成多个线程,并且根据处理器的核心或者线程数量设置延迟执行内容的数目,从而实现了多线程处理一个渲染进程的效果。

OIT(透明独立叠加)乱序透明技术,可以准确地判定多个透明物体之间的层次关系,实现多个不同透明物体的快速混合

Tessellation细分曲面技术,利用GPU硬件加速,将现有3D模型的三角形拆分得更细小、更细致,也就是大大增加三角形数量,使得渲染对象的表面和边缘更平滑、更精细。

Direct Computer 5.0

posted @ 2018-04-28 16:28  biaoJM  阅读(1158)  评论(0编辑  收藏  举报