您的位置:首页 > 编程语言

【阅读笔记之一】《DIRECTX.9.0.3D游戏开发编程基础》:DirectX概略

2012-10-12 14:53 501 查看
认识DirectX及本书概略

”DirectX是微软开发的一套功能丰富的底层API,其中涵盖了对2D/3D图形加速的支持,对各种输入设备的控制,以及对声音和音乐输出的混音和采样、对多玩家网络游戏的控制、对各种多媒体流模式的控制等“。
——摘自本书译者的序言

本书主要是讲解运用DirectX3D进行交互式游戏的开发。DirectX3D只是DirectX的一个子集。DirectX3D是一个庞大的API集群,必须学会使用DirectX SDK文档。

代码约定及其他规则:所有成员变量以下划线为前缀;
全局变量和函数名都以大写字母开头,局部变量和方法名都以小写字母开头;
本书所有代码均没有做异常处理;

在本书中对于DirectX有些方面没有提及,这里补充(来自《Direct3D游戏开发技术详解》)
在Windows出现之前,DOS是最流行的操作系统,游戏开发也基本上时在DOS上运行,但是这样效率及各种效果让人难以忍受。就在这个时候,Windo ws95出现,并伴随着DirectX1.0的问世。从此,DirectX建立起来游戏开发的标准。
DirectX包含多个组件,下面分别简单介绍:
1. Direct3D: 3D图形包,在显卡的支持下提供各种丰富、强大的图形渲染功能。
2. DirectDraw: 2D图形包,提供硬件加速的2D渲染显示功能。
3. DirectInput: 为包括游戏杆、鼠标、键盘和游戏控制器在内的输入设备提供支持。
4. DirectPlay: 对编写多人联网游戏提供支持,包括在处理玩家连接、消息发送、语音交流框架等方面提供了强大的功能。
5. DirectSound: 音效方面的支持,提供低延迟的声音和对硬件资源的高度控制。
6. DirectShow: 提供媒体流架构支持,可播放高质量的视频和音频。
7. DirectSetup: 对DirectX应用程序提供安装方面的支持。

关于HAL
HAL(Hardware Abstraction Layer),即硬件抽象层。它和其他关系如下图所示:



从图中可以看到,最底层的Graphics Hardware是图形显示卡硬件,其上的Device Driver Interface是显示卡驱动程序,由显卡制造商提供。然后在驱动程序上面架构了两套API,一套是Windows
GDI,另外一套是HAL硬件抽象层上的Direct3D API。HAL通过显卡所支持的模式对Direct3D API通过加速,因此可以提供更好的性能。
DirectX是按照微软的COM(Component Object Model)搭起来的。设计COM是希望它能够提供一个更安全、易升级、可移植 的软件模块。COM是一种基于二进制的编程模型,它的接口无法通过任何方式改变,并且提供向前兼容的功能。COM本身的二进制编程模型使跨语言编程成为其一大优势。
另外,我还喜欢这本书里面的一句话:
3D游戏编程不像其他领域一样学几句语句就能抄刀上阵......

——Josh
2012年10月12日
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐