DirectX
DirectX(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口,是一种应用程序接口(API)。DirectX可以让以windows为平台的游戏或多媒体程序获得更高的执行效率,加强3D图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。Microsoft DirectX 是这样一组技术:它们旨在使基于Windows 的计算机成为运行和显示具有丰富多媒体元素(例如全色图形、视频、3D 动画和丰富音频)的应用程序的理想平台。DirectX 包括安全和性能更新程序,以及许多涵盖所有技术的新功能。应用程序可以通过使用DirectX API 来访问这些新功能。 它比Windows GDI要快好几倍,可用于不同的语言和多种平台,支持从绘制象素到高级3D图象,从播放简单声音到数字音乐,从键盘控制到反震手柄……它给你游戏编程所需的一切(有点夸张) DirectX 显示部分(也是最重要的部分),分为DrictDraw(DDraw)和Dricet3D(D3D),其中DrictDraw主要是负责2D图像加速,包括播放mpg、DVD看图片、2D小游戏等等( 把它理解成所有划线的部分都是用的DDraw );Dricet3D主要负责3D的效果,包括点线面体渲染等等;

DricetX 包含的:
* DirectSound:提供硬件和软件的声音混合与回放。
* DirectMusic:处理基于消息的音乐数据。它支持乐器数字接口(MIDI)并为创建交互式音乐提供创作工具。
* DirectPlay:使得通过调制解调器链接或通过网络来与应用程序相连成为可能。
* Direct3D:是一个三维图形包,它提供一个高级的保留模式(Retained Mode)接口,这使得你能够实现一个完整的三维图形系统。它还包含一个低级的即时模式(Immediate Mode)接口,使得应用程序获得对渲染管线的完全控制。
* DrictDraw:负责图像显示中的2D加速,常常在播放,图片界面等等;
* DirectInput:为包括游戏杆、鼠标、键盘和游戏控制器在内的输入设备提供支持。它还为反馈游戏设备提供支持。
* DirectSetup:为DirectX提供了一个简单的安装过程。它简化了更新显示和音频驱动程序的过程,并且确保没有硬件或软件冲突的存在。
* AutoPlay:让你能够制作一张一旦插入驱动器就能自动安装的光盘。AutoPlay并非DirectX所独有,因为它是Microsoft Win32 API的一部分。

现代的DirectX主要是在2D 3D应用是最多做重要:
**

Direct9:

现今主要是在DirectX9,是与之前跨时代并且影响到现在的版本之后 ,DirectX9显著的提高了老本(DirectX8)的VS性能,新的控制指令,可以用通用的程序权代替以前专用的单独着色程序,效率提高许多倍;增加循环操作指令,减少工作时间,提高处理效率;扩展着色指令个数,从128个提升到256个。 增加对浮点数据的处理功能,以前只能对整数进行处理,这样提高渲染精度,使最终处理的色彩格式达到电影级别。突破了以前限制PC图形图象质量在数学上的精度障碍,它的每条渲染流水线都升级为128位浮点颜色,让游戏程序设计师们更容易更轻松的创造出更漂亮的效果,让程序员编程更容易。

Direct10:

DX10又是一次大革命,除了将ShaderModel从3.0升级至4.0版本外,还有两项非常重要技术:

第一:引入统一渲染架构,从此不再区分像素与顶点着色单元,而是由流处理器单元按照负载动态的执行包括像素和顶点在内的各种着色指令:
第二,引入全新的几何着色单元,它第一次允许由GPU来动态的生成和销毁几何图元数据,使GPU可以在不用CPU干涉的条件下进行反复运算,许多以前无法实时使用的算法现在都可以在GPU中使用了。
第三,最大的结构性变化就是在几何处理阶段增加了几何渲染单元(Geometry
Shader)。几何渲染单元被附加在顶点渲染单元之后,但它并不像顶点渲染单元那样输出一个个顶点,而是以图元作为处理对象。

Direct11:

DX9C和DX10听起来非常完美,但也有明显的缺点,就是系统资源开销很大,运算效率比较低,所以DX11的重点就落在了改进渲染效能方面。

多线程 多线程 资源/着色器/对象创建 多线程显示队列创建

着色器特性 可寻址资源——纹理、常量缓冲区和采样器 其他资源类型,如读/写缓冲区和纹理

子程序
计算着色器-----一种着色器,设计用于加速计算,通过在几个软件线程或线程组之间划分问题空间,并在着色器寄存器之间共享数据,以显著减少输入着色器所需的数据量,可以显著加快计算速度。计算着色器可以显著改进的算法包括后处理、动画、物理和人工智能

几何着色器 实例化----允许几何体着色器输出最多1024个顶点,或者实例和最多1024个顶点的任意组合(每个顶点最多32个实例)。
像素着色器 覆盖范围作为PS输入 可编程插值输入-能够评估像素内的属性,在任何地方的多采样网格

DirectX 12:

微软在 GDC DirectX 的直播活动中公开了 DirectX 12 Ultimate(DX12U)标准,统一了AMD 和 NVIDIA 两大显卡巨头的图形 API 标准, RTX 系列和 RDNA2 系列显卡均支持 DX12U。
DX12U 带来了以下新特性:

  • DirectX Raytracing 光线追踪
  • Variable Rate Shading 可变频率着色
  • Mesh Shaders 网格着色
  • Sampler Feedback 采样器反馈

一次开发,全面优化,A 卡、N 卡、Xbox Series X 通吃,.对开发者来说这当然是巨大的利好消息。

directX 简介相关推荐

  1. DirectX简介 第四篇 DirectPlay简介

    DirectPlay简介 1.       DirectPlay允许开发者提供不考虑传输媒介细节特征的多人参与功能,DirectX对不同的媒介同等对待(无论是TCP/IP网,IPX网或是调制解调器) ...

  2. DirectX简介 第三篇 DirectSound简介

    DirectSound简介 1.       DirectSound特性:速度快.可控制性强 (1)       当硬件空闲时自动启用硬件加速 (2)       不受数量限制的声源混音 (3)    ...

  3. DirectX简介 第二篇 DirectDraw简介

    DirectDraw简介 1.       DirectDraw是DirectX的基石,DirectX的其他组件,如Direct3D,都是建立在它的基础上的,用DirectDraw可以访问显卡上的内存 ...

  4. c#/winform Directx编程入门之实现立方体

    c# directx编程入门之实现立方体 一.Directx简介      Directx是微软公司开发的一套功能丰富的底层API ,由C++编写,它可让以Windows为平台的游戏或多媒体程序获得更 ...

  5. DirectX风雨路 10年3D技术与显卡变迁

    第1页 导言:DirectX简介 谈到游戏.显卡,DirectX已经是一个不得不提的词汇了,但到底什么是DirectX呢? DirectX,(Direct eXtension,简称DX)是由微软公司推 ...

  6. 用Delphi + DirectX开发简单RPG游戏

    http://www.bianceng.cn/delphi/dp16.htm 提到 RPG (角色扮演游戏,Role Play Game),在座各位恐怕没有不熟悉的.从古老经典的 DOS 版<仙 ...

  7. 用Delphi+DirectX开发简单RPG游戏

    提到 rpg (角色扮演游戏,role play game),在座各位恐怕没有不熟悉的.从古老经典的 dos 版<仙剑奇侠传>到新潮花哨的<轩辕剑>系列,无不以曲折优美的故事情 ...

  8. DirectShow组件原理分析及应用

    1 DirectX简介 DirectX是Microsoft公司为游戏和其他高性能多媒体应用所提供的一套底层应用程序编程接口.这些接口包括对二维和三维图形,声效和音乐,输入设备以及多玩家网络游戏等的支持 ...

  9. C#- Chart Controls (转)

    整理收集一些WinForm或Asp.Net开发方面可以使用的图表控件.(文章及相关代码搜集自网络,仅供学习参考,版权属于原作者! ) 01. .net 3.5中的Chart控件   新控件Chart使 ...

  10. 大学计算机学cad的,浙江大学计算机学院CADCG国家重点实验室.PDF

    浙江大学计算机学院CAD 浙江大学计算机学院CAD&CG 国家重点实验室 浙江大学计算机学院CAD&CG 国家重点实验室 DirectX简介 助教名单 董朝.刘峰.吴越.梁潇.邹林灿 ...

最新文章

  1. mysql数据库约束无符号_mysql 数据类型 约束条件
  2. java.lang.NoClassDefFoundError: org/springframework/dao/support/PersistenceE解决方法
  3. Exception in thread main expected 'document start', but found BlockMappingStart in 'reader'(测试了)
  4. dos命令操作mysql数据库的常用语句
  5. python循环结束执行后面代码_计算机程序中某种代码的反复执行,称为________。Python中的循环有重复一定次数的________,也有重复到某种情况结束的________。...
  6. PID算法的EXCEL模拟实现
  7. 迈腾车能进2.10米宽的车库吗?
  8. 一文弄懂二叉树三种遍历
  9. python pip 安装
  10. CentOS下使用SVN实现多项目管理配置方案
  11. flask nginx+uwsgi超时设置
  12. 10投屏后没有声音_10年后,学区房有没有可能成为“负资产”?这位专家说了实话...
  13. 计算机vfp系统,计算机等级考试VFP教程:第一章数据库系统
  14. hsql mysql_HSQL简介
  15. 为什么鼠标光标不是一条竖线而是一个小方块
  16. Neo4j 构建简单农业知识图谱(Agriculture KnowledgeGraph)
  17. 离职“招黑”的6种行为,最后一个太惹人反感!
  18. 文本分类——常用经典技术解析(jieba,word2vec,样本不平衡问题)
  19. 定位器百科:老人、小孩的GPS定位器是如何工作的
  20. FM,FMM,deepFFM模型总结,深度排序模型

热门文章

  1. Sangfor AIOps in VDI:快看深信服IOM如何快速解决70%以上的桌面云运维管理问题
  2. python对工程造价有用吗_工程造价真的不行了吗?
  3. 根据MAC地址查询网卡厂商
  4. android 模拟器 锁屏,如何在模拟器中测试Android锁屏小部件?
  5. 记一次内网环境正向代理极光推送
  6. 乐优商城(一)项目介绍
  7. 计算机应用技术和cad,计算机图形技术与CAD
  8. matlab中图像加噪函数imnoise
  9. linux vi 替换字符串,vi字符串替换命令
  10. 计算思维的起步 - 符号化、计算化与自动化