📄 whatisdx.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<title>DirectX教程</title>
</head>
<body background="paper.GIF">
<blockquote>
<p align="center"><big><big><strong><a name="目录"><big><font color="#FF8000">什么是</font><font
face="Arial" color="#FF8000">DirectX</font><font color="#FF8000">?</font></big></a></strong></big></big></p>
<p align="right" style="margin-top: -10; margin-bottom: -8"><a href="index.htm"
style="text-decoration: none"><span style="text-decoration: none">返回上级</span></a></p>
<hr>
<p align="left"><span style="font-family: 宋体; font-size: 12">
现在电脑软件方面的什么Direct,什么X,简直太多了,搞得我每次去书店买书,在一大堆充斥着Director、ActiveX的书籍面前,总是看花了眼。再一次向读者重申,本站只致力于介绍微软的游戏开发引擎——DirectX的开发与利用,与Director或ActiveX或其它什么相类似的名称没有任何关系。<br>
下面,先让本站长为你解释一下DirectX的意思(以下为站长原话)。<br>
Direct嘛,嗯,从字面上理解,它是“直接了当”的意思;X,从它的形状可以看出来,好象是个十字路口,四通八达,那么——,嗯,这个地方肯定有一个大排挡,什么牛肉面、三名治、烤火腿、羊肉串...想吃什么有什么(说话间,哈喇子不知不觉已达半米)...(3/4秒后)...那么,DirectX的意思想必我不说,各位也清楚了吧。“直接了当的大杂烩”(有人发言)。正确!</span></p>
<p align="left"><span style="font-family: 宋体; font-size: 12">
下面,还是让Microsoft来告诉你什么是DirectX,以及它的特征吧,本章分为以下几节。(如果你实在没有耐心看下去,可以先做一下最后的自测题,如果你已经会的话,你就没有必要看下去了,直接进入下一章吧)</span></p>
<table border="0" width="86%">
<tr>
<td width="49%" valign="top"><p align="left"><font color="#400080"><a
href="#什么是DirectX">1、什么是DirectX ?</a></font></p>
<p align="left"><font color="#400080"><a href="#DirectX的组件">2、DirectX的组成部分</a></font></p>
<p align="left"><font color="#400080"><a href="#关于DirectDraw">3、关于DirectDraw</a></font></p>
<p align="left"><font color="#400080"><a href="#为什么使用DirectDraw">4、为什么要使用DirectDraw?</a></font></td>
<td width="51%" valign="top"><p align="left"><font color="#400080"><a
href="#DirectX 5.0的新特性">5、DirectX5.0的新特性?</a></font></p>
<p align="left"><font color="#400080"><a href="#部件对象模型">6、什么是部件对象模型(COM)</a></font></p>
<p align="left"><font color="#400080"><a href="#自我检测">7、自我检测</a></font></td>
</tr>
</table>
</blockquote>
<b>
<hr>
</b>
<blockquote>
<p align="left"><b><font face="Arial">1</font>、什么是<font face="Arial"><a
name="什么是DirectX">DirectX</a> </font>?</b></p>
<p align="right"><font color="#FF0000"><b><a href="#目录">回到目录</a></b></font></p>
</blockquote>
<blockquote>
<p ALIGN="JUSTIFY">微软的<font face="Arial">DirectX</font>软件开发工具包(<font
face="Arial">SDK</font>)提供了一套优秀的应用程序编程接口(<font
face="Arial">APIs</font>),这个编程接口可以提供给你开发高质量、实时的应用程序所需要的各种资源。<font
face="Arial">DirectX</font>技术的出现将极大的有助于发展下一代多媒体应用程序和电脑游戏。<br>
<br>
总的说来,使用<font face="Arial">DirectX</font>的主要有两个好处:<font
face="Arial">1</font>、为软件开发者提供硬件无关性;<font face="Arial">2</font>、为硬件开发提供策略。
</p>
<p><font face="Arial"> 1</font>、为软件开发者提供硬件无关性</p>
<blockquote>
<p ALIGN="JUSTIFY"><span style="font-family: 宋体; font-size: 12">微软开发<font
face="Arial">DirectX</font>,其最主要的目的之一是促进在<font face="Arial">Windows</font>操作系统上的游戏和多媒体应用程序的发展。在<font
face="Arial">DirectX</font>出现以前,主要的游戏开发平台是<font face="Arial">MS-DOS</font>,游戏开发者们为了使他们的程序能够适应各种各样的硬件设备而绞尽脑汁。自从有了<font
face="Arial">DirectX</font>,游戏开发者们便可以获益于<font face="Arial">Windows</font>平台的设备无关性,而又不失去直接访问硬件的特性。<font
face="Arial">DirectX</font>主要的目的就是提供象<font face="Arial">MS-DOS</font>一样简洁的访问硬件的能力,来实现并且提高基于<font
face="Arial">MS-DOS</font>平台应用软件的运行效果,并且为个人电脑硬件的革新扫除障碍。</span></p>
</blockquote>
<blockquote>
<p ALIGN="JUSTIFY"><span style="font-family: 宋体; font-size: 12">另一方面,微软公司开发<font
face="Arial">DirectX</font>是为了在当前或今后的计算机操作系统上提供给基于<font
face="Arial">Windows</font>平台的应用程序以高表现力、实时的访问硬件的能力。<font
face="Arial">DirectX</font>在硬件设备和应用程序之间提供了一套完整一致的接口,以减小在安装和配置时的复杂程度,并且可以最大限度的利用硬件的优秀特性。通过使用<font
face="Arial">DirectX</font>所提供的接口,软件开发者可以尽情的利用硬件所可能带来的高性能,而不用烦恼于那些复杂而又多变的硬件执行细节。</span></p>
</blockquote>
<blockquote>
<p ALIGN="JUSTIFY"><span style="font-family: 宋体; font-size: 12">一个高表现力的基于<font
face="Arial">Windows</font>平台的游戏将得益于以下几种技术: </span></p>
<ul>
<li><span style="font-family: 宋体; font-size: 12">专为提高图形运算及快速反应能力而设计的加速卡(<font
face="Arial">Accelerator cards</font>) </span></li>
<li><span style="font-family: 宋体; font-size: 12">即插即用以及其它<font
face="Arial">Windows</font>软硬件 </span></li>
<li><span style="font-family: 宋体; font-size: 12">内建于<font face="Arial">Windows</font>的通信服务<font
face="Arial">, </font>包括<font face="Arial">DirectPlay </font></span></li>
</ul>
</blockquote>
<b><p></b><font face="Arial"> 2</font>、为硬件开发提供策略</p>
<blockquote>
<p ALIGN="JUSTIFY"><span style="font-family: 宋体; font-size: 12"><font face="Arial">DirectX</font>的另外一个重要的目的是给硬件厂商提供开发策略,他们可以从高性能程序的开发者和独立的硬件供应商(<font
face="Arial">independent hardware vendors IHVs</font>)那里得到反馈。所以,在<font
face="Arial">DirectX </font>程序员参考书中有时可能会提供那些还不存在的硬件加速设备的技术细节。在很多时候,软件可以模拟这些特性,在另外一些情况下,软件根据硬件的指标判断出其特性,并且可以忽略那些硬件并不支持的性能。</span></p>
<p ALIGN="JUSTIFY"><span style="font-family: 宋体; font-size: 12">已经和将要实现的显示设备的特性包括:
</span></p>
<ul>
<li><span style="font-family: 宋体; font-size: 12">覆盖<font face="Arial">(Overlays)</font>,由于它的被支持,在图形设备接口中,窗口中的换页(<font
face="Arial">page flipping</font>)将成为可用。换页是用来在整个屏幕上显示画面的双缓冲(<font
face="Arial">double-buffer</font>)方案。 </span></li>
<li><span style="font-family: 宋体; font-size: 12">精灵引擎<font face="Arial">(Sprite
engines)</font>,使精灵(不规则图形)覆盖更容易。 </span></li>
<li><span style="font-family: 宋体; font-size: 12">插补延展<font face="Arial">(Stretching
with interpolation)</font>,它可以更有效的保存显示内存,因为它可以使小幅画面延展到整个屏幕。
</span></li>
<li><span style="font-family: 宋体; font-size: 12"><font face="Arial">Alpha </font>融合<font
face="Arial">(Alpha blending)</font>,它可以在硬件像素层(<font face="Arial">hardware-pixel
level)</font>上混合颜色。 </span></li>
<li><span style="font-family: 宋体; font-size: 12">带有透视修正(<font face="Arial">perspective-correct)</font>贴图的<font
face="Arial">3D</font>加速器,它允许你在<font face="Arial">3D</font>表面上贴图。比如,你可以在用<font
face="Arial">3D</font>软件制作的城堡的走廊里贴上砖块的位图来显示出透视效果。
</span></li>
<li><span style="font-family: 宋体; font-size: 12">为<font face="Arial">3D</font>图象进行的位操作将
<font face="Arial">Z </font>方向考虑在内。 </span></li>
<li><span style="font-family: 宋体; font-size: 12">标准<font face="Arial">2</font>兆显示内存,这在<font
face="Arial">3D</font>游戏中是最小需求。 </span></li>
<li><span style="font-family: 宋体; font-size: 12">压缩标准,这将允许你在显存中储存更多的信息。这个标准不论是在软件还是硬件中执行都会相当快。它将被用在贴图中并且包含透明压缩。
</span></li>
</ul>
<p ALIGN="JUSTIFY"><span style="font-family: 宋体; font-size: 12">将要被包括的声音设备的新特性包括:
</span></p>
<ul>
<li><span style="font-family: 宋体; font-size: 12">硬件及其外设可以提供空间环绕立体声效果。
</span></li>
<li><span style="font-family: 宋体; font-size: 12">声卡上内置音频内存。 </span></li>
<li><span style="font-family: 宋体; font-size: 12">音频<font face="Arial">-</font>视频一体卡可共享其上的内存。
</span></li>
</ul>
<p ALIGN="JUSTIFY"><span style="font-family: 宋体; font-size: 12">另外,视频回放将得益于今后的与<font
face="Arial">DirectX</font>相兼容硬件加速设备。今后的<font face="Arial">DirectX</font>版本中的一个特性是将支持硬件加速<font
face="Arial">YUV</font>视频解码。</span></p>
</blockquote>
</blockquote>
<hr>
<blockquote>
<b><p><font face="Arial">2</font>、<a name="DirectX的组件"><font face="Arial">DirectX</font>的组件</a></b></p>
<p align="right"><font color="#FF0000"><b><a href="#目录">回到目录</a></b></font></p>
<p ALIGN="JUSTIFY"><font face="Arial">DirectX SDK</font>为基于<font face="Arial">Windows</font>平台的应用程序提供了以下几个组件。
</p>
<ul>
<b>
<li><font face="Arial">DirectDraw</b> </font>:通过直接访问显示硬件来提供高级的图象处理能力。</li>
<b>
<li><font face="Arial">DirectSound</b> </font>:它提供了软硬件的低延迟声音混频(<font
face="Arial">low_latency sound mixing</font>)和回放(<font face="Arial">Playback</font>),硬件加速,以及直接访问音频设备的能力。</li>
<b>
<li><font face="Arial">DirectPlay</b> </font>:它明确的提供了通用环境连接能力(<font
face="Arial">generalized communication capabilities</font>),来简化你应用程序之间的通讯服务。
</li>
<b>
<li><font face="Arial">Direct3D</b> </font>:它为主流的桌上型计算机和<font
face="Arial">Internet</font>用户提供实时的、交互的<font face="Arial">3D</font>技术。
</li>
<b>
<li><font face="Arial">DirectInput</b> </font>:它简化你的应用程序访问鼠标、键盘和操纵杆设备的能力。
</li>
<b>
<li><font face="Arial">DirectSetup</b> </font>:一套简单的<font face="Arial">API</font>向你提供安装<font
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -