DirectX初探

由于要做一个虚拟声音实验,涉及到DirectSound API,所以研究了一下什么是DirectX。

DirectX是由微软创建的多媒体编程接口,仅可用于微软自家平台(如Windows、Xbox等)。既然是多媒体编程接口,就涉及对图像、声音等多媒体信息的操作。因此,DirectX并不是一个单纯的图形API,而是一个用途广泛的API,提供了一整套多媒体接口方案,只是其在3D图形方面的表现尤为突出,因此常被作为图形接口而被大家记住。

DirectX本质上是一组低级的应用程序接口(API),Windows应用程序通过它来访问显卡与声卡等多媒体设备,从而获得高性能的硬件加速多媒体支持。同时,DirectX也是屏蔽硬件差异,提高应用程序适配性的重要桥梁。

DirectX的分类:

DirectX是由许多API组成的,主要分为四部分:显示部分、声音部分、输入部分和网络部分。

显示部分主要包括DirectDraw和Direct3D;

声音部分的主要API是DirectSound;

输入部分的主要API是DirectInput,用于支持多种游戏输入设备;

网络部分的DirectPlay主要为了具有网络功能的游戏而开发的,提供TCP\IP、IPX、Modem、串口等多种连接方式

DirectX的目的:

旨在使基于Windows的计算机成为运行和显示具有丰富多媒体元素的应用程序的理想平台。

DirectX向开发人员提供了一个共同的硬件驱动标准,使得开发者不用针对每一品牌的硬件编写不同的驱动程序,也降低了用户安装和配置硬件的复杂度。

举例来说,以前在DOS下玩游戏时,并不是安装上了就可以玩了,玩家往往首先要设置声卡的品牌和型号,然后还要设置IRQ、IO、DMA等,有一个地方设置的不对,游戏声音就发不出来。为了让游戏能够在众多电脑上正确运行,开发者必须在游戏制作之初,就把市面上所有声卡硬件数据都收集过来,根据其不同的API写不同的驱动程序。为了解决这个难题,微软推出了公共应用程序接口——DirectX。游戏开发者只需要面向DirectX编写游戏,而显卡、声卡的硬件厂商只需要提供支持DirectX的驱动程序即可。

时间: 2024-08-24 08:17:01

DirectX初探的相关文章

第十七篇:博采众长--初探WDDM驱动学习笔记(七)

基于WDDM驱动的DirectX视频加速重定向框架设计与实现 现在的研究生的论文, 真正质量高的, 少之又少, 开题开得特别大, 动不动就要搞个大课题, 从绪论开始到真正自己所做的内容之间, 是东拼西凑地抄概念, 抄公式, 达到字数篇幅的要求, 而自己正真做了什么, 有哪些实际感受, 做出的内容, 相比前面的东拼西凑就几点内容, 之后就草草结束, 步入感谢的段落. 原因不光只有学生自己, 所谓的读研, 如果没有一个环境, 学生有再大的愿望, 再强的毅力, 到头来也只是空无奈. 有些导师要写书,

第十七篇:曲径通幽处,禅房花木深--初探WDDM驱动学习笔记(一)

正好需要对WINDOWS的WDDM有所了解, 于是就翻了下MSDN. 微软对设备驱动的框架设计非常周全. 无论WDDM, AVSTREAM, 还是USB STACK, STORAGE, 以及其它技术类型的设备驱动, 都是以port/miniport, class/miniclass的形式展开, 微软将经过严密设计,开发,测试的port/class驱动提供给IHV,而IHV只需要把工作重心放到mini驱动的开发上去, 大大降低了项目风险, 人力成本,以及时间成本. AVSTREAM是PCTV的框架

JavaFx初探

由于项目的须要,实在是没有办法了,试了非常多种方案(RCP,SWT,Flex,Smartinvoke...),终于还是决定開始研究JavaFx...为了给用户更好地体验我们的"智能家居"! 下面是近期搜索得到的一些资料: 1.Oracle 上 JavaFx的下载页面:http://www.oracle.com/technetwork/java/javafx/overview/index.html 眼下最新版本号的SDK是2.1 JavaFX 2.1 Developer Preview

进阶之初探nodeJS

一.前言 在"初探nodeJS"随笔中,我们对于node有了一个大致地了解,并在最后也通过一个示例,了解了如何快速地开启一个简单的服务器. 今儿,再次看了该篇随笔,发现该随笔理论知识稍多,适合初级入门node,固萌生一个想法--想在该篇随笔中,通过一步步编写一个稍大一点的node示例,让我们在整体上更加全面地了解node. so,该篇随笔是建立在"初探nodeJS"之上的,固取名为"进阶之初探nodeJS". 好了,侃了这多,那么我们即将实现一个

从273二手车的M站点初探js模块化编程

前言 这几天在看273M站点时被他们的页面交互方式所吸引,他们的首页是采用三次加载+分页的方式.也就说分为大分页和小分页两种交互.大分页就是通过分页按钮来操作,小分页是通过下拉(向下滑动)时异步加载数据. 273这个M站点是产品推荐我看的.第一眼看这个产品时我就再想他们这个三次加载和翻页按钮的方式,那么小分页的pageIndex是怎么计算的.所以就顺便看了下源码. 提到看源码时用到了Chrome浏览器的格式化工具(还是朋友推荐我的,不过这个格式化按钮的确不明显,不会的话自行百度). 三次加载和分

[转载]HDFS初探之旅

转载自 http://www.cnblogs.com/xia520pi/archive/2012/05/28/2520813.html , 感谢虾皮工作室这一系列精彩的文章. Hadoop集群(第8期)_HDFS初探之旅 1.HDFS简介 HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上.它所具有的高容错.高可靠性.高可扩展性.高

MongoDB初探系列之二:认识MongoDB提供的一些常用工具

在初探一中,我们已经可以顺利的将MongoDB在我们自己的机器上跑起来了.但是在其bin目录下面还有一些我们不熟知的工具.接下来,将介绍一下各个小工具的用途以及初探一中MongoDB在data文件夹下创建的文件的用途. 1.bin目录下面的各种小工具简介及使用方式 bsondump.exe 用于将导出的BSON文件格式转换为JSON格式mongo.exe mongoDB的客户端 mongod.exe 用于启动mongoDB的Server mongodump.exe 用于从mongodb数据库中导

Asynchronous Pluggable Protocols 初探

Asynchronous Pluggable Protocols,异步可插入协议,允许开发者创建可插协议处理器,MIME过滤器,以及命名空间处理器工作在微软IE4.0浏览器以及更高版本或者URL moniker中.这涉及到Urlmon.dll动态链接库所公开(输出)的可插协议诸多功能,本文不进行深入的原理讲解,只对它其中之一的应用进行解析,那就是如何将一个应用程序注册为URL协议. 应用场景: tencent协议: 当我们打开"tencent://message/?uin=要链接的QQ号 &qu

重新认识HTML,CSS,Javascript 之node-webkit 初探

今天我们来系统的.全面的 了解一下前端的一些技术,将有助于我们写出 更优秀的 产品 出来. 什么是HTML? HTML 是用来描述网页的一种语言. HTML 包含一些根节点,子节点,文本节点,属性节点,组成, 它通过一系列预定义标签来描述网页结构,如: <title>This is title</title> ,这个表明该网页的标题是 This is title. 什么是CSS? CSS 指层叠样式表 (Cascading Style Sheets),它描述浏览器显示如何显示htm