在介绍变迁之前,先说说API,API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,简单地说,针对图形的API就是连接计算机应用与硬件之间的桥梁。目前主要API有DirectX和OpenGL等。
DirectX:它们旨在使基于 Windows 的计算机成为运行和显示具有丰富多媒体元素(例如全色图形、视频、3D 动画和丰富音频)的应用程序的理想平台。 是目前最主流也是采用最多的的图形API。
随着2006年,微软发布了革命性的全新操作系统——Windows Vista,DirectX 10成了中关村装机商口头最常见的“忽悠”术语,因为装机商都知道,要用Vista,您得先换一块好显卡!
在DirectX 10时代,之前Direct X系列API的注入高CPU负载等的缺陷得到了大大改善,这个改善主要通过以下三个通道得以实现:
1、修改API核心,使得绘制体和切换材质特效时的消耗降低;
2、引入新的机制,降低图形运算操作对CPU的依赖性,使更多的运算在GPU中完成;
3、使大量的物体可以通过调用单条DirectX 绘制命令进行批量绘制。
DirectX 10的降临带走了CPU的高负载而给游戏图形效果带来的苦难。通过提前的数据验证、纹理阵列、绘制断言、数据流输出、状态对象、常量缓冲机制,帮助游戏的效果和效率上升到一个新高度。除了非常重要的这一点外,DX10还支持Shader Model 4.0,带来以下几点革新:
l加入全新Geometry shader
l 统一的Shader架构
l 百倍于DirectX 9的可用资源
l 更多的纹理
l 更多的渲染目标(Render Target)
l 新的HDR颜色格式
在shader model 4中,Vertex Shadery和Pixel Shader有着统一的指令集、同样的临时/常量寄存器个数。它们将平等的共享GPU中的所有可用资源。在游戏程序中不用再考虑每种shader自身的限制了。简单点说,DX10中微软用统一渲染器(Unfied Shader)取代了Vertex Shadery和Pixel Shader的功能,计算指令不再有顶点、像素或者几何之分,处理过程得以简化。所以AMD和NVIDIA也因此各自设计了适合自己的统一渲染器,架构随之发生了很大的变化。
针对DX10和Vista,NVIDIA和AMD都重新设计了一组属于自己的统一渲染架构。也是因为这一代,NVIDIA和AMD都选择了一个属于自己的方向……