DirectX11--使用DirectX Tool Kit帮助开发

前言(2018/11/4)

DXTK库现在已经不随Github项目提供,因为只用到了其中的键鼠类,已经过提取加入到后续的项目中

但是如果你需要配置DirectXTK到自己的项目当中,可以参考这篇博客进行操作。

否则可以直接跳转到下一章。

章节目录
05 键盘和鼠标输入

DXTK项目

DirectX11 With Windows SDK完整目录

Github项目源码

欢迎加入QQ群: 727623616 可以一起探讨DX11,以及有什么问题也可以在这里汇报。

DirectXTK的配置

DirectX Tool Kit是一个包含许多类的集合,用于为公共Windows平台编写Direct3D 11 C++代码。里面包含如下可用的头文件(基本上都在名称空间DirectX中):

头文件描述
Audio.h使用了XAudio2的底层音频API
CommonStates.h一个工厂类,提供了常用的D3D状态对象
DDSTextureLoader.h用于读取DDS文件
DirectXHelpers.h各种各样的助手类,用于帮助D3D程序开发
Effects.h一系列内建着色器的集合,用于日常渲染任务
GamePad.h用于控制手柄
GeometricPrimitive.h用于创建、绘制一些常见的图元如球体、立方体
GraphicsMemory.h用于管理动态图形内存分配
Keyboard.h键盘事件追踪
Model.h通过读取 .COM, .SDKMESH 或者 .VBO模型文件来绘制模型
Mouse.h鼠标时间追踪
PostProcess.h一系列内建着色器用于常见的后期处理操作
PrimitiveBatch.h提供简单高效的,绘制用户图元的方式
ScreenGrab.h轻量级截屏工具
SimpleMath.h简单包装了C++的DirectXMath
SpriteBatch.h提供简单高效的,用于2D精灵渲染的方式
SpriteFont.h基于位图的文字渲染
VertexTypes.h一系列常用于顶点数据的结构体格式
WICTextureLoader.h读取WIC位图的文件
XboxDDSTextureLoader.h用于为XBox读取DDS文件

获取了最新版的DirectX Tool Kit后,里面是一系列解决方案,我们可以根据自己的VS版本打开。这里我选择的是DirectXTK_Desktop_2017_Win10.sln

打开项目后,里面会有三个项目,而我们的关注点仅在第一个项目,可以把该项目单独拉出来操作或者合并到你的解决方案中:

该项目右键–属性–常规–Windows SDK版本检查是不是最新的,否则要变更为当前你的Windows SDK版本。

然后将项目按下面的方式进行修改

其中$(Platform)指代的是Win32或者x64,取决于你现在的设置。

$(Configuration)则指代的是Debug或者Release。

最后就可以编译生成静态库了。(2018/9/3更新:编译不通过的话,如果你的VS更新到了15.8.3,去Github项目的README.md有该问题的解决方法!

而对于其他的项目,这里使用的是属性配置表(.props)文件,根据前面的设置,我们可以做到只用一个属性配置表就能够完成所有平台和配置下的包含路径和库路径设置。

在GitHub项目的DXTK\中已经包含了一份DXTK.props,首先是附加包含目录的配置:

$(SolutionDir)指代的是当前解决方案所在的路径。

然后是附加库目录的配置:

最后是附加依赖项的配置:

当然你也可以自己建立一个属性配置表,按自己的需求来进行设置。

最后在VS的视图中找到属性管理器,直接对项目右键添加现有属性配置表。这样对应的四种平台配置就都包含了这个属性配置表了。

对于多项目的解决方案,如果你的解决方案包含了DirectXTK库,则需要修改项目生成顺序。选择一个项目点击右键-生成依赖项-项目依赖项,然后如果你的当前项目需要依赖该库,就将其打勾:

最后查看项目生成顺序确保DirectXTK库优先生成。

完成这些操作后就可以对该解决方案进行编译了。

DirectX11 With Windows SDK完整目录

Github项目源码

欢迎加入QQ群: 727623616 可以一起探讨DX11,以及有什么问题也可以在这里汇报。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值