前言(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

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

1172605-20180727221241831-513561272.png

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

然后将项目按下面的方式进行修改
1172605-20180716165536796-1219862413.png

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

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

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

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

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

1172605-20181024161652822-1572796801.png

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

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

1172605-20181024161746018-2013131842.png

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

1172605-20181024161805434-1310620173.png

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

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

1172605-20181024162108003-1412069763.png

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

最后查看项目生成顺序确保DirectXTK库优先生成。
1172605-20180716170437439-1319910808.jpg

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

DirectX11 With Windows SDK完整目录

Github项目源码

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

转载于:https://www.cnblogs.com/X-Jun/p/9033627.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐