频道栏目
读书频道 > 软件开发 > C++ > Visual C++音频视频技术开发与实战
1.5.2 多媒体API——DirectX
2012-12-10 14:41:09     我来说两句
收藏   我要投稿
本书由浅入深地讲解了使用Visual C++ 2010开发音频和视频项目的基本知识,并通过示例来讲解具体的实现流程。全书内容分为16章,详细讲解了使用各种软件和平台进行音频/视频多媒体编程的技术,以案例为对象展示...  立即去当当网订购

微软公司于1990年5月推出的Windows 3.0大获成功,它是一种与设备无关的具有图形用户界面(GUI)的操作系统。后来又于1992年3月推出了Windows 3.1,提供了对多媒体的支持。不过Windows的与设备无关的设计思想,虽然使得Windows向程序员提供了一个独立于硬件的软件开发优秀平台,但它不让应用程序直接操作显卡和声卡等多媒体硬件,这样就降低了多媒体应用程序(特别是计算机游戏)的运行效率(如限制了动画的帧率、不提供混音功能等)。所以当时的Windows并不是一个可以开发和运行高效多媒体程序(如3D游戏)的理想环境,迫使PC游戏开发商只好绕开Windows,仍旧开发DOS下的游戏。

为了改变这种难堪的局面,促使游戏界放弃DOS而使用Windows,微软需要在设备无关性与高性能之间取得某种平衡,决定为Windows添加一种高性能的动画机制(以及后来的输入与音响等),因此于1995年推出了Game SDK,后来改名为DirectX。其中的“Direct”指可以直接访问多媒体硬件;“X”指它的不同组成部分,如Direct3D、DirectSound、DirectInput和DirectPlay等。

DirectX是Windows的一种多媒体API,它在保持设备无关性的同时,可以让应用程序直接控制多媒体设备,从而能充分利用硬件的功能,因此可获得最高的性能。DirectX自从推出以来,就始终处在快速发展的过程之中。它已经经历了多个版本,其模块和功能也一直在不断地增加和完善。

DirectX是一种基于COM的系统,主要由硬件抽象层HAL和硬件模拟层HEL构成。DirectX被分成若干个组件模块,涵盖了多媒体应用的方方面面。而且这些组件的数目、名称和功能,也是随着其版本的演化而有所改变和加强。

1.版本

因为DirectX必须支持多媒体设备的最新技术和功能,而多媒体硬件(尤其是显卡的3D性能)和技术始终处在高速发展过程中,所以DirectX的技术和版本也同样在不断地发展和演变,其中发展最快的是3D接口部分。

下面列出DirectX的主要版本的发布时间、引入的新模块和特性。

(1) 1.0——1995年9月30日:此版本包含DirectDraw、DirectSound、DirectInput、DirectPlay、DirectSetup模块。

(2) 2.0——1996年6月5日:引入了Direct3D(次版本有2.0a)。

(3) 3.0——1996年9月15日:支持MMX、为DirectSound补充了DirectSound3D API(次版本有3.0a)。

(4) 4.0——无此版本号。

(5) 5.0——1997年7月16日:有许多改进,如受力反馈控制器、多显示器支持、新的游戏控制面板、用户界面的全面改进等(次版本有5.1和5.2)。

(6) 6.0——1998年8月7日:添加新的3D特性(如添加DXUT框架)、支持AMD公司的3DNow!技术、性能较5.0有提高。在1999年2月3日推出的6.1版中,添加了DirectMusic模块。

(7) 7.0——1999年9月22日:改进了3D图形和声音,使其运行更快,为Direct3D API引入了硬件传送、光照和纹理压缩以及硬件加速,引入了D3DX工具库,使用Creative公司的EAX技术改进了3D声音的算法(次版本有7.0a和7.1)。

(8) 8.0——2000年9月30日:将DirectDraw与Direct3D完全集成在一起,其中Direct3D的性能有了本质上的飞跃(引入了顶点/像素shader[着色引擎/光照模型]、支持硬件点精灵和三维体纹理),将DirectMusic与DirectSound更紧密地集成在一起构成DirectX Audio,更新了DirectInput与DirectPlay,添加了DirectShow、抛弃了其余的DirectX Media模块。2001年11月11日推出的8.1版被集成在Windows XP中销售,该版本添加了从DirectShow分离出的DMO(DirectX Media Objects,DirectX媒体对象)组件模块。它还支持许多新的图形特性,如像素着色引擎的1.2~1.4版、动态/高分辨率纹理、新3D扩展方法等(次版本有8.0a、8.1、8.1a和8.1b)。

(9) 9.0——2002年12月24日:添加许多新特性到DirectX Graphics和DirectShow中,例如将DirectDraw的功能并入到Direct3D之中,支持顶点和像素着色引擎的新版本2.0和3.0,引入裁剪测试、位移贴图和多元纹理,支持128位浮点着色精度和根据显示器自动调整  值等。同时也添加了若干新特性到DirectInput、DirectPlay、DirectSound和DirectMusic中(次版本有9.0a、9.0b和9.0c)。

DirectX的最后一个以数字和字母命名的版本是2004年8月9日推出的9.0c。后来每两到四个月就推出了它的一个升级版,当前的最新版本为2009年3月17日推出的March 2009 DirectX SDK。它们都包含了于2002年推出的专为.NET框架设计的托管(Managed) DirectX,将原来DirectX多个分离的COM模块集成到容易使用的单一CLR文件中。

(10) 10——注意DirectX不会有独立的第10版了,因为微软公司已将DirectX的功能集成进其操作系统Windows Vista中,而不再将其作为一个额外的模块了。DirectX 10(其主要部件为Direct3D 10)已于2006年11月30日随Windows Vista一起发布(被嵌入到该操作系统之中)。

DirectX 10有如下特点:

全新的显示驱动模式——微软为Vista和DirectX 10重新设计了一种显卡的显示驱动模式VDDM(Vista Display Driver Model),它将显卡驱动程序与系统的其他驱动程序分开,并能使之运行于独立硬件供应商模式和用户模式下,使得由显卡驱动规格差异所导致的3D应用程序不兼容情况大幅度降低,从而提高整个系统的稳定性。此外,DirectX 10还重新优化了显存管理功能,降低了游戏开发商开发工作的复杂程度。

全新的API——由于DirectX 10的渲染方式发生了巨大的变化,微软重写了API的大部分代码,去掉了设备能力检查(CAPS),即去除了对老版本Direct3D的硬件支持,使得开发商不必担心兼容性问题,而可以放心地使用硬件的各种特性。此外,微软还对渲染管线流程进行了大面积改进,全面使用着色器化的架构,将渲染状态有机分类,极大地减少了开发者在开发大型游戏时的技术难度,并且也有助于提升渲染能力,减少渲染状态前后设置和互相影响对渲染成功率的影响,从而提高了3D应用程序的执行速度和质量。新加入的几何着色器则提供了对批量几何图形的处理能力,也有助于程序执行效率的提高。

Shader Model 4.0——Shader Model(着色器模型)是微软公司定义图形平台性能的一个标准,着色器是渲染像素和顶点的小程序,分为顶点着色器(Vertex Shader)和像素着色器(Pixel Shader)两种类型,这些程序能够向基本的几何图形添加效果。从其渲染管线流程中我们可以了解到,Shader Model 4.0将作为DirectX 10 的核心存在,并且,由于DirectX 10去除了CAPS,那么对Shader Model 4.0的硬件支持,也就成为一块DirectX 10显卡的必备条件。这将有助于消除不同显卡厂商的产品在技术参数上的差别,降低消费者的选购难度。同时,Shader Model 4.0将能够同时访问的顶点数在3.0的基础上增加了8倍,并将材质顶点支持模式变为RGBE,极大地提高了光照处理性能。

支持困难——DirectX 10放弃了对以前版本的硬件支持,这意味着采用DirectX 9以及以前版本API编写的3D应用程序只能通过软件模拟方式得到DirectX 支持,这对程序的运行效率是有负面影响的。诸多全新的游戏特性使得现在支持DirectX 9的显卡虽然也能勉强在DirectX 10下正常工作,但大部分新特性如Shade Model 4.0等则都无法使用。而由于需要VDDM的支持,目前微软声称DirectX 10支持的最低版本的操作系统为Windows Vista,而Windows XP将无法使用DirectX 10。由于Windows Vista对硬件的苛刻要求,目前的机器恐怕大多难以胜任。

如图1-21所示为DirectX 10.0与DirectX 9.0的Direct3D管线阶段的比较。


 

(11) 10.1——微软公司于2008年3月18日,随Vista SP1发布了DirectX 10的升级版DirectX 10.1,它具有如下改进:

DirectX 10.1的一个主要提高是改善的shader资源存取功能,在读取多样本时有更好的控制能力。除此之外,DirectX 10.1还可以创建定制的下行采样滤波器。

DirectX 10.1还有更新的浮点混合功能,对于渲染目标更有针对性,对于渲染目标混合有新的格式,渲染目标可以实现独立的各自混合。

阴影功能一直是游戏的重要特效,Direct3D 10.1的阴影滤波功能也有所提高,从而可望进一步提高画质。

在性能方面,DirectX 10.1支持多核系统,有更高的性能。而在渲染、反射和散射时,Direct3D 10.1能减少对API的调用次数,从而可获得不错的性能提升。

其他方面,DirectX 10.1的提高也不少,包括32位浮点滤波,可以提高渲染精确度,改善HDR渲染的画质。完全的抗锯齿应用程序控制也是DirectX 10.1的亮点,应用程序可以控制多重采样和超级采样的使用,并选择在特定场景出现的采样模板。DirectX 10.1至少需要单像素四采样。

DirectX 10.1还引入更新的驱动模型WDDM 2.1。与DirectX 10的WDDM 2.0相比,2.1版有一些显著的提高。首先是更多的内容转换功能,WDDM 2.0支持处理一个命令或三角形后进行内容转换,而WDDM 2.1则可以让内容转换即时进行。由于GPU同时要并行处理多个线程,因此内容转换的即时性不仅可以保证转换质量,还可以提升GPU效率,减少等待时间。另外,由于WDDM 2.1支持基于过程的虚拟内存分配,处理GPU和驱动页面错误的方式也更为成熟。

目前只有AMD的Radeon HD3000系列产品支持DirectX 10.1。

(12) 11——微软公司于2009年秋随Windows 7发布了Direct3D 11。在DirectX 11中,微软主要目标在于减少游戏工作室的开发成本,与新PC硬件更有效结合,提高物理效果、游戏AI以及游戏其他功能特性以提高游戏的互动性。随着游戏画质的不断提高,图形细节的复杂程度也大幅提升。微软已经在游戏主机开发中拥有了不少高效图形开发程序经验,通过更为强大的纹理制作API,DirectX 11可以提高纹理生成性能,从而让游戏运行帧数更为流畅。硬件方面微软也指出值得注意的发展趋势——CPU并行多核心化。DX11在并行运算处理能力利用上进一步改进,通过新的完善的驱动界面支持并行多核心处理器平台。流处理以及GPGPU也是图形领域的重要发展方向,DirectX 11对这些新技术也提供了支持。

DirectX 11的主导者不是微软,而是Intel。因为Direct3D 11将会支持Intel的光线追踪(Ray Tracing)技术,该技术可使得3D图形更加真实、更具立体感,而不是一眼就能看出来是在一个平面上显示出来的效果。相对于目前的光栅化技术(Rasterization),光线追踪更加注重从视觉上改变3D(主要运用到折射)物体的效果,而不是Rasterization那样通过几何原理。当然,用户不用担心使用现在的显卡不能安装DirectX 11,因为DirectX 11会有两种模式,即Rasterization模式和Ray Tracing模式。最值得一提的是,Intel的Ray Tracing只能够支持X86架构。D3D 11的主要目的是提高伸缩性、改善开发体验、拓展GPU能力、改善性能。它是D3D 10/10.1的超集,在其基础上增加了一些新功能,支持Windows Vista和后续操作系统Windows 7等,支持DX 10/10.1级别硬件。

D3D 11的主要新技术有Tessellation(镶嵌)、计算着色器(Compute Shader)、多线程、动态着色器关联、改进的纹理压缩等。角色创作的趋势是越来越复杂,三角形和多边形越来越多,对渲染管线和输入输出提出了更大的挑战,因此需要更高级的表面呈现技术。为此,D3D 11新增了三个着色流程:Hull Shader(外壳着色器)、Tessellation(镶嵌)和Domain Shader(域着色器),使其着色器管线更加丰富和复杂。Direct3D 11管线如图1-22所示。


 

(13) XNA——另外,作为学生和业余爱好者的DirectX替代产品,微软公司于2004年3月24日发布了用于托管运行环境下计算机游戏的设计、开发和管理的框架和工具集XNA,并于2006年12月11日推出了XNA Framework Redistributable 和XNA Game Studio Express的1.0版,可用于Windows和Xbox 360游戏的开发。微软公司后来又分别于2007年12月13日和2008年10月30日推出了XNA Game Studio的2.0版和3.0版。

2.结构

DirectX是一种基于COM(Component Object Model,组件对象模型)的系统,它既不属于驱动程序层,也不属于应用层。DirectX的主要设计目标是在提供某种设备独立性的同时获取高速度,为此微软公司为DirectX设计了如图1-23所示的体系结构。


 

(1) HAL(Hardware Abstract Layer,硬件抽象层):负责检测本机的硬件功能,并以一种独立于设备的方式提供这些功能。

(2) HEL(Hardware Emulation Layer,硬件模拟层):负责提供DirectX功能中本机硬件不支持部分的模拟实现。

但是从8.0版起,DirectX就不再提供硬件模拟层HEL模块了,需要开发商、第三方或自己来编写一个PSD(Pluggable Software Device,可插式软件设备),连到DirectX提供的HEL接口上,称之为参考设备。而现在很少有这样的PSD可用,因此新版本的DirectX是严重依赖于硬件的。

3.组成

DirectX由多个(COM组件)模块组成,而且随着版本的演化,这些模块也在不断地增减、合并和改变。最新的DirectX组件的模块构成如图1-24所示,括号中的数字为该模块被首次引进(或移出)的版本号。


 

下面是DirectX的主要组成模块的简单介绍:

DirectX Graphics(DirectX图形)——包括DirectDraw和Direct3D等。

DirectDraw(直接绘制)——二维图形绘制(高速位图传送/视频与2D动画)。从9.0版起,DirectDraw已被集成到了Direct3D之中。

Direct3D(直接三维)——三维图形绘制。分成保留(Retained)和立即(Immediate)模式:保留模式是一种高层API,建立在立即模式之上,使用方便容易,但是效率不高,适合于初学者;立即模式则是一种底层API,使用复杂,但是其效率比保留模式高得多。大多数DirectX应用程序,特别是计算机游戏,都是采用立即模式进行开发。自从6.0版以来,保留模式API的发展停滞不前,而立即模式API的发展却日新月异。不论是保留模式还是立即模式,Direct3D都是建立在DirectDraw之上的。但从9.0版起,Direct3D包含了DirectDraw,它像OpenGL一样同时具有二维、三维图形绘制功能。Direct3D 10版本是Windows Vista的一个有机组成部分。

D3DX(Direct3D eXtension,Direct3D扩展)——为Direct3D服务的实用工具库,执行公共的数学计算和一些复杂的任务,包含若干简化3D模型使用的类,如粒子系统(Particle System)。D3DX由动态链接库(DLL)提供。

DXUT(DirectX UTility Library,DirectX实用工具库)——是建立在Direct3D API之上的样例框架,也叫通用文件框架,可帮助程序员减少在繁琐的普通工作(如创建窗口、创建设备、处理Windows消息和设备事件等)上所花费的时间。

DXGI(DirectX Graphics Infrastructure,DirectX图形基础设施)——管理可独立于DirectX图形运行环境的低层任务,为DirectX的未来版本提供一个通用框架。

HLSL(High Level Shading Language,高级着色语言)——用于为Direct3D管线创建类似C语言的可编程着色器,从DirectX 8.0起引入。

DDS(DirectDraw Surface,DirectDraw表面)——DirectX 7.0引入的一种文件格式(.dds),用于存储压缩(DXTn)和非压缩纹理。DDS支持MIP映射、立方映射和体映射。DDS文件格式还被D3DX和DirectX纹理编辑器(Dxtex.exe)及纹理转换工具(Texconv.exe)等其他DirectX工具支持。从Direct3D 10开始,DDS文件支持纹理数组。

DirectSound(直接声音)——主要针对波形音频,底层接口。可用于开发播放和捕捉波形音频的高性能立体与三维(DirectSound 3D)音频应用程序。在下一代DirectX中,DirectSound的功能将由XACT(Microsoft Cross-Platform Audio Creation Tool,微软跨平台音频生成工具)来代替。

DirectMusic(直接音乐)——主要针对MIDI音乐,高层接口。为基于波形、MIDI声音或DirectMusic生成器所创造的动态内容的音乐和非音乐声道提供一个完整的解决方案。

XACT——XACT(Microsoft Cross-Platform Audio Creation Tool,微软跨平台音频生成工具)是一种多人合作的音频设计工具和相关API,用于游戏的动态音频开发,随DirectX 9.0c的2008年升级版推出了XACT3的RTM版。

XAudio2——针对Windows和Xbox 360的一种低级、跨平台的音频API。它为游戏提供信号处理和混频基础,用于替代Windows上传统的DirectSound和Xbox 360上早先的XAudio。XAudio2的RTM版随DirectX 9.0c的2008年3月升级版推出。

X3DAudio——是用于在XAudio2和XACT的协助下进行三维空间中声音定位的一种API,可创建来自三维空间中相对于摄像机的位置点的魔幻声音。

xWMA——是WMA(Windows Media Audio,Windows媒体音频)专业压缩格式的一个子集。XAudio2和XACT3都支持xWMA的软件解码。xWMA对WMA位流格式进行了一种轻量级包装,提供比XMA更大的压缩率。xWMA对使用小CPU达到可获取大压缩比时的对话和音乐非常有用。质量设置允许用户改变被压缩声音的比特率。xWMA随DirectX 9.0c的2008年3月升级版推出。

XAPO——XAPO(Cross-platform Audio Processing Objects,跨平台音频处理对象)API允许在Windows和Xbox 360上用XAudio2和XACT创建跨平台音频处理对象的API。XAPO是一种对象,它接受输入的音频数据,并在传递之前对该数据执行某些操作。XAPO可用于完成多种任务,包括添加混响到音频流和监控峰值音量水平。

XAPOFX——XAPOFX(XAPO Effect Library,XAPO效果库)是用于XAudio2实现XAPO接口的一个音效集合。XAPOFX包含几种效果和一个创建效果实例的通用机制。

与DirectX相关的各种音频技术之间的关系如图1-25所示。


 

DirectInput(直接输入)——提供对各种输入设备的支持,包括对受力反馈(Force-feedback)技术的全面支持。从DirectX 9.0c的2005年10月升级版开始,DirectInput已被XInput(Xbox)和键盘与鼠标的窗口消息处理(Windows)代替。

DirectPlay(直接玩)——提供对多人网络游戏的支持。在DirectX 9.0c版本中,微软公司反对使用DirectPlay,而建议改用Windows Sockets和Windows Firewall API来代替。从DirectX 10(Vista)开始,DirectPlay已被Games for Windows – Live 和Xbox Live代替。

DirectSetup(直接安装)——提供DirectX组件的一次性调用安装的一个简单API(自动安装DirectX驱动程序)。从Vista开始,Windows操作系统包含DirectX模块,不再需要另外安装。

DirectShow(直接展示)——提供多媒体(音视频)流的高质量捕捉和重放。在8.0版之前,DirectShow是DirectX Media的一个组成模块。到8.0版时,因为DirectX SDK抛弃了DirectX Media,所以才将DirectShow集成到了DirectX之中。在DirectX 9.0c的2005年4月升级版中,DirectShow又被移出DirectX,放入微软公司的Windows平台SDK之中。

DirectX Media Objects(DirectX媒体对象,DMO)——基于COM的多媒体和数据流组件,支持音视频的编解码器和特效。是在DirectX的8.1版时,从DirectShow分出的,其功能类似于DirectShow的过滤器。

DirectX Media(DirectX媒体)——是用于流媒体应用的外部API集合。在DirectX 6.0之前,DirectX Media SDK和DirectX SDK是两个分离的SDK。在6.0版时DirectX Media SDK被集成到DirectX SDK之中。DirectX Media的运行模块被集成到Windows和IE之中。到了8.0版时,DirectX Media又被DirectX SDK抛弃(其核心模块DirectShow被集成到了DirectX之中),其功能被随Windows 2000 Server推出的Windows Media SDK所代替。

DirectX Transform(DirectX变换)——用于产生二维、三维图形的各种效果,如α混色和表面弯曲等。

DirectAnimation(直接动画)——集成多种媒体类型来创建复杂动画,并可用作网页内容。

DirectX Video Acceleration(DirectX视频加速,DXVA)——利用硬件加速二维视频的解码操作。

Direct3D Retained Mode(Direct3D保留模式)——Direct3D的保留模式是一种高层API,建立在Direct3D立即模式之上,使用起来方便容易,但是效率不高,适合于初学者。
 DirectShow(直接展示)——支持音视频流的高质量采集和重放。
4.获取DirectX SDK
DirectX是一种应用程序接口(API),它可让以Windows为平台的游戏或多媒体程序获得更高的执行效率,加强3D图形和声音效果,并为设计人员提供一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。其实从字面意义上说,Direct就是“直接”的意思,而后边的X则代表了“很多”的意思,从这一点上我们就可以看出DirectX的出现就是为了对众多软件提供直接服务的。

在当前应用项目中,使用最频繁的版本是DirectX 9.0,所以本书将介绍获取DirectX 9.0的方法。具体获取流程如下。

(1) 登录微软主站 http://www.microsoft.com,如图1-26所示。


 

(2) 单击顶部导航中的“Downloads & Trials”,并在弹出菜单中选择“Download Center”链接,如图1-27所示。


 

 
(3) 此时将进入Download Center页面,在此页面的“Top Downloads for”下拉列表框中选择“DirectX”选项,然后单击Go按钮,如图1-28所示。


 

(4) 在打开页面中选择“DirectX SDK - (August 2009)”,如图1-29所示。


 

(5) 出现DirectX SDK - (August 2009)页面,单击Download按钮开始下载,如图1-30所示。

5.安装DirectX SDK

获取DirectX安装文件DirectX SDK后,接下来开始进行安装。安装DirectX SDK的具体流程如下。


 

(1) 双击.exe安装文件,弹出欢迎安装界面,如图1-31所示。

(2) 单击“下一步”按钮后进入协议界面,在此选择“I accept ...”选项,然后单击“下一步”按钮,如图1-32所示。


 

(3) 在出现的界面中选择“Yes, I am…”选项,然后单击“下一步”按钮,如图1-33所示。

(4) 在出现的界面中单击Browse按钮,选择DirectSound SDK的安装路径,然后单击“下一步”按钮,如图1-34所示。


 

(5) 在出现的界面中选择要安装的文件,然后单击“下一步”按钮,如图1-35所示。

(6) 此时开始进行安装,并显示安装进度,如图1-36所示。


 

(7) 进度完成后出现安装完成界面,如图1-37所示。单击“完成”按钮完成安装。


 

安装完成后,会在安装目录中发现很多文件夹,如图1-38所示。


 

在如图1-38所示的界面中,各个文件夹的具体说明如下。

 Developer Runtime:DirectSound SDK的开发工具包。

 Documentation:系统帮助文档。

 Extras:附加工具,其中就包含了DirectSound。

 Include:头文件。

 Lib:库文件,其中*.lib用于VC++编译器,*.lbw用于Watcom编译器。

 Redist:国际文档,因为此软件提供了多个语言供用户选择。

 Samples:演示实例。

 system:系统文件,例如卸载等工具。

 Utilities:实用程序。

6.配置DirectX SDK

要想学会DirectX SDK的基本用法,读者可以参阅其帮助文档。

在帮助文档中,不但包含了DirectX SDK的使用方法,而且还有演示实例,读者可以两者相互结合,对DirectSound SDK有一个更清晰的认识。

下面将介绍具体使用流程。

(1) 依次单击“开始”→“程序”→“Microsoft DirectX SDK”→“Microsoft Directx SDK Read me”,可以登录微软的MSDN页面,如图1-39所示。

在如图1-39所示的页面中可以查看安装目录下各个文件的具体说明,也可以查看基本的使用介绍等信息。

(2) 依次单击“开始”→“程序”→“Microsoft DirectX SDK”→“DirectX Documentation for C++”,可以打开C++开发的帮助文档,如图1-40所示。


 

(3) 依次单击“开始”→“程序”→“Microsoft DirectX SDK”→“DirectX Samples Browse”,可以打开Directx SDK实例的演示工具界面,如图1-41所示。


 

通过如图1-41所示的演示页面,可以很方便地浏览和演示安装目录中的演示文件。

(4) 单击如图1-41所示页面中的任何一个“Documentation”链接,即可打开DirectX SDK的帮助文档。在帮助文档中包含了读者所要掌握的一切信息,当然也包含了演示实例,如图1-42所示。


 

(5) 在如图1-42所示的页面中,可以直接查看某个演示实例的执行效果。如图1-43所示就是一个实例的效果。


 

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.5.1 Visual C++集成开发工具
下一篇:1.5.3 CCS开发系统
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站