DirectX9 10 11对比区别摘抄整理

来源:互联网 发布:优化发展环境的讲话 编辑:程序博客网 时间:2024/06/08 19:32

    dx8使得可编程的硬件进入管线成为了双重构造。对于DirectX 9的顶点处理与像素处理,则被真正的可编程处理器调换。而在向DirectX 10的转移为了实现更灵活的可编程性,需要GPU架构进行根本的改革。

    从DirectX 8向DirectX 9通过图形API的改革牵动了GPU架构的改革,DirectX 10时代架构的改革(架构巨大变化),从根本上改变了GPU的本质。

    dx10中 Pixel Shader(顶点着色器)、Vertex Shader(像素着色器)和Geometry Shader(几何着色器)三个着色器单元首次统一,三种具体的硬件逻辑被整合为一个全功能的着色器Shader。

参考:浅析DirectX11技术带给图形业界的改变
http://vga.zol.com.cn/176/1769287_all.html

 

   XP及以前系统:GDI和Directx在应用层和底层驱动都是分离的

 新建位图图像

     Vista开始,微软更新了底层的驱动模型,将GDI和directX架构支持和底层驱动进行了统一

 新建位图图像 (2)

参考:Dx 10 与 Dx 9 的一些技术区别(转)
http://www.cppblog.com/liangairan/articles/139893.html

 

 

最早的微软是没有自己的API的,而SGI找到微软、IBM、Apple、3DLabs等企业,想让自己的IRIS GL推出成为工业标准,然后OpenGL就成为了第一个被广泛认可的图形API。

这时候微软因为自己没API,而新推出的针对专业工作站的Windows NT系统要从UNIX手中拿到一杯羹,所以只好支持OpenGL,但微软不可能去支持个不是自己的东西, 所以WinG就诞生了。一个简单的可以绘制2D图形的东西,并不是一个严格意义上的API,很失败,没有程序员会去用它。

之后微软内部的工程师提出了一个曼哈顿计划,要研发真正的新的图形API,但其实微软本身并不看好。要制作出令人满意的2D加速功能,微软没有这个技术,帮助微软搞定2D技术的是ATi也就是现在的AMD。

在之后随着Windows 95一起而来的Windows Game SDK诞生了,里面涵盖了一堆的东西,DirectDraw、DirectInput等等东西,打个包就叫做DirectX,所以重新取名为DirectX 1.0,并且就如曼哈顿计划这个同名代号,选择了以核武器研发核辐射危险品为Logo。

这时候凭借ATi的帮助,在2D技术上,OpenGL和DirectX 1.0平分秋色,但是OpenGL的3D技术微软则根本不行。
然后各种收购啊并购啊,去研发搞定3D技术的API,之后包括Direct3D的Dirext 2.0就出来了。

让我们跳过3.0 4.0 5.0 6.0,来到Windows 2000 以及DirectX 7.0吧。
微软做了什么?就像今天的诺基亚被X一样。

微软和SGI达成战略同盟,共同研发下一代图形API: Fahrenheit。
介于当时微软的影响力,SGI还是自己主动愿意来合作的。
SGI里面的人偏向技术流,是真正的喜欢去做这个研发的事情。
而微软当时的人在做什么?挖墙脚和磨洋工。
Fahrenheit拥有OpenGL和DirectX当时全部的特性,还可以向下兼容,前景一片美好。
SGI的工程师们整天忙于Fahrenheit这个计划。
然后......

Windows 2000发布,DirectX 7.0发布,SGI傻了。
工程师们跳槽/被跳槽了。
<后话,Fahrenheit就是后来的DirectX 10和DirectX 11>

也就是从DirectX 7.0开始,才有了ATi与nVIDIA的博弈,两者都因为DirectX而发展到足够强大。
当时基本上谁先支持了某个DirectX版本,谁抱了这个大腿,谁就瞬间高对手一级。

比如nVIDIA抱了DirectX 7.0 & 8.0的大腿,然后就把3dfs收购了;
比如nVIDIA因XBOX的主机的音频视频主板芯片订单问题和微软交恶,然后ATi果断抱上DirectX 9.0的大腿;
再比如后来nVIDIA又抓住了DirectX 9.0c而ATi还在执着于DirectX 9.0b,~~~
然后再接再厉,DirectX 10,nVIDIA那时真心风光无限好啊~~~
然后嘛,DirectX 11,AMD,嗯嗯。

总结来说,
目前的DirectX,
2D方面的技术最早来自于ATi;
3D技术来自于收购并购一些公司;
DirectX 10的统一渲染架构、DirectX 11里面的Tessllation和DirectCompute则全部来自于那个Fahrenheit计划中。
顺带一说,曲面细分Tessllation的前身N-Patch,微软和ATi用在了XBOX 360上面,然后引入桌面,里面也是ATi的贡献啊。
从Fahrenheit计划开始,OpenGL几乎就从娱乐市场里消失了,当年的Doom、Quake系列啊,现在的寒霜、CryEngine基本都是DirectX阵营啊,更是Mantle阵营~

展望未来,AMD的Mantle API势必会以某种形式被微软收入到DirectX 12里面。

引用:链接论坛第12#楼 kartanus 发的

http://www.chiphell.com/thread-979766-1-1.html

0 0