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架构支持和底层驱动进行了统一

参考: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

DirectX9 10 11对比区别摘抄整理相关推荐

  1. Interview:算法岗位面试—10.11下午—上海某公司算法岗位(偏机器学习,互联网数字行业)技术面试考点之XGBoost的特点、python的可变不可变的数据类型、赋值浅拷贝深拷贝区别

    ML岗位面试:10.11下午-上海某公司算法岗位(偏机器学习,互联网数字行业)技术面试考点之XGBoost的特点.python的可变不可变的数据类型.赋值浅拷贝深拷贝区别 Interview:算法岗位 ...

  2. 猝灭剂BHQ-1 amine/1308657-79-5/BHQ-2 氨基/1241962-11-7者相关的物理性质还是有一定的区别,整理以下相关的数据进行对比。

    西安凯新生物BHQ染料通过FRET和静态猝灭的组合工作,使研究人员能够避免荧光猝灭剂(如TAMRA)常见的残留背景信号,或dabcyl的低信噪比.BHQ-1 amine,BHQ-2 amine两者相关 ...

  3. 荣耀10的android版本区别,荣耀10和荣耀V10哪个好?荣耀10与V10区别对比 (全文)

    众所周知,荣耀旗舰一直走的是V系列和数字系列双旗舰路线,其中V系列偏向走前沿科技路线,而数字系列则走的是时尚设计路线.4月19日,荣耀发布了新款"荣耀10"旗舰机,渐变色玻璃设计令 ...

  4. 读书笔记----10日摘抄整理(12)

    <平凡的世界>:谁让你读了这么多书,又知道了双水村以外还有个大世界--如果从小你就在这个天地里日出而作,日落而息,那你现在就会和众乡亲抱同一理想:经过几年的辛劳,像大哥一样娶个满意的媳妇, ...

  5. 2018年第十届ACM四川省省赛题解(10 / 11)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 2018ACM四川省省赛 题目链接:https://www.oj.swust.edu.cn/probl ...

  6. 七周三次课(11月29日) 10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法...

    2019独角兽企业重金招聘Python工程师标准>>> 10.11 Linux网络相关 ifconfig 查看网卡ip (yum install net-tools) 安装 -a   ...

  7. mysql int(3)与int(11)的区别详解

    这篇文章主要介绍了mysql int(3)与int(11)的区别详解的相关资料,需要的朋友可以参考下 mysql int(3)与int(11)的区别 总结,int(M) zerofill,加上zero ...

  8. C++98C++11的区别

    C++98&C++11的区别 文章目录 C++98&C++11的区别 1. C++11简介 2. 自动类型推导auto 3. 列表初始化 4. 变量类型推导 5. 范围for循环 6. ...

  9. 【原创】指针和下标的10条对比

    [原创]指针和下标的10条对比 摘要:在编程语言中,指针和下标都是访问数据的有效手段,本文以C/C++语言为例,讲解它们之间的区别. 要想完全理解本文,读者可能需要:1.至少熟悉一门含有指针和下标语义 ...

最新文章

  1. python有序字典_python 学习 有序字典
  2. [翻译练习] #selector() 和响应者链
  3. 论文排版怕翻车?这个排版神器是时候用起来了!
  4. adf盖怎么打开_罐头好吃盖难开,学会这几招,再不靠蛮力了,女生也轻松拧开...
  5. LeetCode MySQL 1853. 转换日期格式(日期格式化)
  6. eclipse中monokai插件的安装
  7. ajax获取jsp对象,如何用Ajax传递一个对象集合到jsp页面。
  8. python旋转坐标系_python实现一个点绕另一个点旋转后的坐标
  9. QT5开发及实例学习之十一Qt5文件操作功能
  10. 验证登录信息是否合法
  11. 从401航班事故调查看项目总结
  12. VBA调用bat,doc 命令行 窗口关闭之后,VBA代码 再继续执行
  13. html星号密码查看器,万能星号密码查看器
  14. java 身份证地址提取籍贯_函数 | 身份证提取籍贯信息
  15. 转行开始的前端填坑之路
  16. 2020电赛F题总结回顾(openmv实现视觉)
  17. python是哪个国家的品牌,爬取全国12个热门城市奶茶店铺情况,看看你的城市哪个品牌最多...
  18. 3秒钟解决windows字符间距变大,输入字母间距变大问题
  19. 8000401a错误解决方案(Excel)
  20. MySQL 创建数据库 创建表

热门文章

  1. HTML中的大于号和小于号怎样用代码打出来?
  2. 《软技能 代码之外的生存指南》
  3. root后没反应怎么办,没有root怎么办?
  4. b丅151组成的充电器电路_手机万能充电器电路原理与维修
  5. Android之Fragment应用——一个简易版的新闻应用
  6. SpringBoot将数据放入Excel里面通过浏览器直接下载到本地
  7. 14个程序员常去的外国网站
  8. 桌面程序聊天窗口的自动输入内容及自动发送
  9. keepalived配置,解决vip无法ping通,虚拟服务器端口无法访问的问题
  10. 【区块链108将】微数链林道坤:区块链有助于更好的发挥大数据价值