65.9K
CodeProject 正在变化。 阅读更多。
Home

一个使用 MFC 的入门级 DirectX 应用程序。

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.71/5 (27投票s)

2004 年 3 月 30 日

2分钟阅读

viewsIcon

173852

downloadIcon

9919

让用户创建和操作 3D DirectX 模型。

Sample screenshot

引言

这个项目让您可以使用 DirectX 的辅助函数创建 3D 模型。 您还可以操作预先制作的 .x 文件。 您还可以将您自己创建的模型保存为二进制、压缩或文本格式的 .x 文件。 我最初使用的是 DirectX 8 SDK。 现在我有版本 9,并且更改了所需的 #include 来使其工作。

背景

几个月前我订购了一本书,书中附带了一张 CD,上面有一个 3D 建模软件包的演示版,但我没有收到 CD。 所以我决定尝试自己写一个。 从未想过它会花费这么多时间! 这绝对不是一个功能齐全的 3D 建模程序。 但对于任何对 DirectX 游戏编程感兴趣的人来说,也许他们可以看看我的一些代码(尽管它只是初学者水平的),这会对他们有所帮助。

使用代码

所有对象都派生自一个类,CMesh,它是 DirectX 网格对象的包装器。 有一个 CScene 对象用于包含所有网格对象。 CScene 有一个名为 Render() 的方法,该方法循环遍历所有 CMesh 派生的对象并将它们绘制到屏幕上。 我用作对象 Direct3D 呈现设备的图片框是从 CStatic 类派生而来,并且是动态绘制的,因此您可以获得通常在常规图片框中无法获得的事件。 工具栏是在从 MSDN 获得的代码的帮助下绘制的。 要显示一个对象,请首先单击要绘制的对象类型,然后单击“添加对象”按钮。 在选择了对象之后,您可以随时单击“选项”来更改对象的不同特性。 不支持纹理或动画。 要更自由地旋转一个对象,您应该单击相应的旋转按钮,然后因为它现在是默认的,按住键盘上的“Enter”按钮以防止再次单击该按钮。 复制和粘贴对象时,单击其中一个平移按钮以查看对象移动,因为新对象将直接复制到与前一个对象相同的位置。 您只能对当前对象执行操作。

关注点

当我在硬盘间移动时,我遇到了一个问题,路径指向我的 mfc\include 目录,在 Modeler.hpj 文件中指定。 毫无疑问,您的路径也不同。 您必须手动编辑该文件的文本以指向正确的文件夹。

历史

第一次发布 - 我真的不打算完成它,但我只是希望它能以现在的方式帮助任何人!

© . All rights reserved.