DirectX学习入门笔记(一)

原文:https://blog.csdn.net/butcher986115/article/details/50595937 git

 

什么是DirectX?网络

DirectX是游戏制做者的API(Application Development Interface)。模块化

它是一组容许你直接控制计算机硬件设备的软件。函数

咱们是经过硬件抽象层(HAL)和硬件仿真层(HEL)来保证设备无关性和让你的程序正常运行。工具

 

DirectX由不少组件构成,每个都有特定的用途。spa

(1)组件DirectDraw是最为重要的一个,由于全部的图形都要用到它,它是2D图形的引擎,3D图形也一样离不开它。

.net

(2)DirectSound:提供硬件和软件的声音混合与回放。对象

(3)DirectMusic:处理基于消息的音乐数据。它支持乐器数字接口(MIDI, Musical Instrument Digital Interface)并为建立交互式音乐提供创做工具。blog

(4)DirectPlay:使得经过调制解调器连接或经过网络来与应用程序相连成为可能继承

(5)Direct3D:是一个三维图形包,它提供一个高级的保留模式(Retained Mode)接口,这使得你可以实现一个完整的三维图形系统。它还包含一个低级的即时模式(Immediate Mode)接口,使得应用程序得到对渲染管线的彻底控制。

(6) DirectInput:为包括游戏杆、鼠标、键盘和游戏控制器在内的输入设备提供支持。它还为反馈游戏设备提供支持。

(7)DirectSetup:为DirectX提供了一个简单的安装过程。它简化了更新显示和音频驱动程序的过程,而且确保没有硬件或软件冲突的存在。

(8) AutoPlay:让你可以制做一张一旦插入驱动器就能自动安装的光盘。AutoPlay并不是DirectX所独有,由于它是Microsoft Win32 API的一部分。

组件对象模型(COM)是DirectX的基础.

组件对象模型(COM)

COM接口是DirectX技术的基础,

DirectX的大多数API都是基于COM结构的。COM为软件模块化和软件重用提供了最坚实的基础,它的最重要的概念就是接口(interface),接口是软件重用的最基本方法。更专业的说,接口是一系列操做的规范描述,即接口规范。

全部的COM接口都是从Iunknown接口继承而来的,IUnknown接口是全部COM接口的根。IUnknown接口具备3个方法:

· QueryInterface():此方法查询新接口,并在新接口存在时返回之。

· AddRef():此方法在接口或其它应用程序连接到此COM对象上时将引用计数值递加1。

· Release():此方法将COM对象的引用计数递减1。当引用计数递减到0时,该COM对象自动释放。

全部COM对象都具备这三个方法。虽然DirectX应用程序通常不须要考虑引用计数的问题,但引用计数确实是存在的,它已经由DirectX自动完成了。

咱们所要作的,就是建立DirectX对象,而后在使用完毕后调用Release方法释放引用。

☆ 设置

用DirectX建立程序,你须要有三件主要的事要作。

第一件事是COM对象自己,它们包含在.DLL文件里,这些.DLL文件须要在Windows里注册,这在安装DirectX软件包时已经完成了。这些对象是咱们建立DirectX应用程序时用到的接口,例如IdirectDraw。

使用DirectX的不一样组件,你须要连接不一样的静态库。例如你要使用DirectDraw组件,你就须要ddraw.lib。

最后,你还须要DrectX头文件,它包含函数原形、宏、常量和你须要用到的各类类型。对于DirectDraw,这个头文件是ddraw.h。

要确认你使用了正确的文件版本,你还得让编译器包含软件开发包的目录。

具体的作法是:

首先点击Tool菜单,选择Options,而后点击Directories,在Show Directories for 组合框下拉菜单中选择Include files,增长一个新的目录。将你的DirectX的路径填入。(例如:C:DXSDKinclude)而后将它移到列表的第一位,使编译时第一个寻找它(防止寻找老版本)。而后选择Show Directories for组合框下拉菜单中的Library files,方法同前,只是把include改为lib。如今,你已经设置完了DirectX。你仍然须要手动增长一些库文件到你的项目中,

相关文章
相关标签/搜索