VictorDX9BCB
所属分类:多媒体编程
开发工具:C++ Builder
文件大小:28383KB
下载次数:2
上传日期:2017-07-14 14:14:48
上 传 者:
2328876
说明: DirectX 9 SDK for Borland C++ Builder
文件列表:
DX9BCB\SAMPLES\Media\CLOCKTXT.avi (85208, 2002-11-12)
DX9BCB\SAMPLES\Media\highway.avi (4902796, 2002-11-12)
DX9BCB\SAMPLES\Media\ruby.avi (2001902, 2002-11-12)
DX9BCB\SAMPLES\Media\skiing.avi (905436, 2002-11-12)
DX9BCB\SAMPLES\Media\butterfly.mpg (866734, 2002-11-12)
DX9BCB\SAMPLES\Media\lake.mpg (1022866, 2002-11-12)
DX9BCB\SAMPLES\Media\water.mpg (1529033, 2002-11-12)
DX9BCB\SAMPLES\Media\chicken.wmv (891560, 2002-11-12)
DX9BCB\SAMPLES\Media\DRMShow.wmv (60719, 2002-11-12)
DX9BCB\SAMPLES\Media\piano.mp3 (698409, 2002-11-12)
DX9BCB\SAMPLES\Media\piano2.mp3 (667480, 2002-11-12)
DX9BCB\SAMPLES\Media\track1.mp3 (225042, 2002-11-12)
DX9BCB\SAMPLES\Media\track2.mp3 (225042, 2002-11-12)
DX9BCB\SAMPLES\Media\track3.mp3 (225042, 2002-11-12)
DX9BCB\SAMPLES\Media\DirectX Theme.wma (95516, 2002-11-12)
DX9BCB\SAMPLES\Media\audiopath3.wav (187674, 2002-11-12)
DX9BCB\SAMPLES\Demos\Bin\audio\BoomDonut.wav (24120, 2002-11-12)
DX9BCB\SAMPLES\Demos\Bin\audio\db4.wav (55820, 2002-11-12)
DX9BCB\SAMPLES\Media\drumpad-bass_drum.wav (20552, 2002-11-12)
DX9BCB\SAMPLES\Media\drumpad-crash.wav (516610, 2002-11-12)
DX9BCB\SAMPLES\Media\drumpad-hhat_down.wav (15260, 2002-11-12)
DX9BCB\SAMPLES\Media\drumpad-hhat_up.wav (32366, 2002-11-12)
DX9BCB\SAMPLES\Media\drumpad-rim_reverb_10.wav (135682, 2002-11-12)
DX9BCB\SAMPLES\Media\drumpad-snare_drum.wav (30046, 2002-11-12)
DX9BCB\SAMPLES\Media\drumpad-speech.wav (427102, 2002-11-12)
DX9BCB\SAMPLES\Media\drumpad-voc_female_ec.wav (419242, 2002-11-12)
DX9BCB\SAMPLES\Media\s1.wav (16436, 2002-11-12)
DX9BCB\SAMPLES\Media\s2.wav (16436, 2002-11-12)
DX9BCB\SAMPLES\Media\s3.wav (16436, 2002-11-12)
DX9BCB\SAMPLES\Media\s4.wav (16436, 2002-11-12)
DX9BCB\SAMPLES\Media\s5.wav (16436, 2002-11-12)
DX9BCB\SAMPLES\Media\sound1.wav (15906, 2002-11-12)
DX9BCB\SAMPLES\Media\sound2.wav (75508, 2002-11-12)
DX9BCB\SAMPLES\Demos\Bin\gfx\textures\land\castle.jpg (12280, 2002-11-12)
DX9BCB\SAMPLES\Demos\Bin\gfx\models\enemy_01\ENEMY_01a.jpg (543, 2002-11-12)
DX9BCB\SAMPLES\Demos\Bin\gfx\models\enemy_01\ENEMY_01b.jpg (25534, 2002-11-12)
DX9BCB\SAMPLES\Demos\Bin\gfx\models\sky\Env_Sky.jpg (55362, 2002-11-12)
DX9BCB\SAMPLES\Demos\Bin\gfx\textures\land\grasshill.jpg (15484, 2002-11-12)
DX9BCB\SAMPLES\Media\grid.jpg (10249, 2002-11-12)
DX9BCB\SAMPLES\Media\hike.jpg (50894, 2002-11-12)
... ...
DirectX 9 SDK for Borland C++ Builder
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Victor Chen
http://www.cppfans.com/
Microsoft 公司的 DirectX 9 SDK 经过格式转换生成的 Borland C++ Builder 库文件。
有关版权:
DirectX 9 SDK: Copyright (C) Microsoft Corp.
DirectX 9 SDK for Borland C++ Builder: Copyright (C) Victor Chen, http://www.cppfans.com/
原来的 DirectX 9 SDK 是免费的开发库,DirectX 9 SDK for Borland C++ Builder 仍然是免费的开发库。
这个开发库只支持 Borland C++ Builder, 如果要其他版本的,请到 Microsoft 主页上找。
如果有什么问题请到我的主页上留言。
DirectX 9 SDK 安装方法:
~~~~~~~~~~~~~~~~~~~~~~~
① 用 WinRAR 3 以上版本解压缩
② Project→Options, 在 Directories/Conditionals 配置里,
→ 点击 Include path 右面的“…”按钮,添加包含 DirectX 9 SDK 的 Include 文件夹的路径,并且移动到最前面
→ 点击 Library path 右面的“…”按钮,添加包含 DirectX 9 SDK 的 Lib 文件夹的路径,并且移动到最前面
③ 一些细节问题请参考本文后面的注意事项。
Samples: DirectX 9 示例程序
~~~~~~~~~~~~~~~~~~~~~~~~~~~
这个开发库示例程序包含:
★ Direct3D
★ DirectInput
★ DirectMusic
★ DirectPlay
★ DirectShow
★ DirectSound
★ Misc
★ Demos
一共 179 个 C++ Builder 示例程序。
这些程序都是根据原 DirectX 9 SDK 示例程序改编的。
【注意事项】
① STRICT 定义:无论用 Visual C++ 还是 Borland C++, 编译 DirectX 程序都需要有这个定义,
不是什么特别的要求。Project → Options → Directories/Conditionals:
在 Conditional defines 里面添加 STRICT 定义 (点击右面的“…”按钮添加)。
② 如果程序在调试时总是提示 EInvalidOp 错误,一般是因为 Borland 与 Micro$oft
浮点数错误处理方式不同引起的,可以通过修改浮点数错误处理方式解决。
解决方法:
在 WinMain 的一开始, 或其他程序初始化的位置写下面语句:
D3DFPExOff(); //解决程序产生 EInvalidOp 错误问题, 这个函数在 里定义。
③ 如果在 debug 程序时频繁出现在 ntdll.DbgBreakPoint 停下来,
需要按 200 多次 F9 (C++ Builder) 或 F5 (Visual C++) 才可跳过,
但这并不影响 .exe 文件, 也不是错误, 脱离环境可以正常运行。
解决方法:
如果你觉得没关系,反正可以正常运行,不用 debug 程序,可以不做任何处理。
如果你比较讨厌 ntdll.DbgBreakPoint, 或者想调试程序, 请在程序初始化时调用这个函数:
VictorNtDllINT3(); //禁止在 debug 程序时在 ntdll.DbgBreakPoint 停下来, 在 里定义
④ M$ 的 enum 类型一般都做 int 类型处理,而 borland 会按照值的范围按照 char,short,或 long 处理
这样会因为期望的 sizeof 不同而引起程序出错。
解决方法:
Project→Options→Compiler
需要选中 Compiling 里面的 Treat enum type as ints
⑤ 如果编译 MFC 程序,也只有在编译 MFC 程序的情况下,需要 Project→Options
在 Advanced Compiler 配置里,选中 Source 下的 MFC compatibility
在 Directories/Conditionals 配置里,
→ 点击 Include path 右面的“…”按钮,添加一项 $(BCB)\include\mfc
→ 点击 Library path 右面的“…”按钮,添加一项 $(BCB)\lib\Psdk
在主程序 .cpp 文件里加上下面定义:
#ifdef _DEBUG
# pragma link "nafxcwd.lib"
#else
# pragma link "nafxcw.lib"
#endif
按照这样做,MFC 程序一般都会编译和链接通过的。
通过这个设置,BCB 编译 MFC 的程序是完全编译的独立 .exe 文件,不需要带 VC 或其他的 MFC 动态库运行。
⑥ DirectShow 里面有几个例子需要 Windows Media Format SDK 7 开发包的支持,
由于 M$ 原来的 DirectX 9 SDK 里面没提供,所以这里也不提供了,需要的自己解决吧。
⑦ 每个例子都带有 readme.txt, 在编译之前请先认真阅读。
【修改记录】
① 文件 SAMPLES\Common\Src\dxutil.cpp
函数 DXUtil_GetDXSDKMediaPathCch
修改前:从注册表里面读出程序的数据文件存放位置,这不符合绿色软件的原则。
修改后:从全局变量 _DxAppDataPath 读取数据文件的存放位置,不需要读写注册表了。
函数 DXUtil_SetDXSDKMediaPathCch
新增函数,可设置程序的数据文件的存放位置,取代原来的读写注册表。
② 程序 SAMPLES\Direct3D\VCLFog\
原来是 MFC 程序,修改为 VCL 程序,程序结构做了调整,基本上保持原来的代码
③ 其他程序 (包括MFC的) 基本保持原来的代码,可能有一些细节问题,在这里就不一一赘述了
近期下载者:
相关文件:
收藏者: