DX11 Without DirectX SDK--04 使用DirectX Tool Kit帮助开发
前言(2018/11/4)
DXTK库现在已经不随Github项目提供,因为只用到了其中的键鼠类,已经过提取加入到后续的项目中
但是如果你需要配置DirectXTK到自己的项目当中,可以参考这篇博客进行操作。
否则可以直接跳转到下一章。
| 章节目录 |
|---|
| 05 键盘和鼠标输入 |
DirectX11 With Windows SDK完整目录
欢迎加入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完整目录
欢迎加入QQ群: 727623616 可以一起探讨DX11,以及有什么问题也可以在这里汇报。
DX11 Without DirectX SDK--04 使用DirectX Tool Kit帮助开发的更多相关文章
- DirectX11 With Windows SDK--04 使用DirectX Tool Kit帮助开发
前言(2018/11/4) DXTK库现在已经不随Github项目提供,因为只用到了其中的键鼠类,已经过提取加入到后续的项目中 但是如果你需要配置DirectXTK到自己的项目当中,可以参考这篇博客进 ...
- DirectX SDK版本与Visual Studio版本
对于刚刚接触 DirectShow 的人来说,安装配置是一个令人头疼的问题,经常出现的情况是最基本的 baseclass 就无法编译.一开始我也为此费了很大的功夫,比如说修改代码.修改编译选项使其编译 ...
- C#使用 DirectX SDK 9做视频播放器 并在视频画线添加文字 VMR9
视频图像处理系列 索引 VS2013下测试通过. 在百度中搜索关键字“DirectX SDk”,或者进入微软官网https://www.microsoft.com/en-us/download/det ...
- VS2012添加对DirectX SDK中需要文件的引用
error LNK2019: 无法解析的外部符号 _DirectDrawCreateEx@16,该符号在函数 "int __cdecl DD_Init(int,int,int)" ...
- 在VS2013、VS2015下如何配置DirectX SDK的开发环境
在Visual Studio 2013下配置DirectX SDK可以进行基于DirectX的3D大型应用程序的开发.如果在开发DirectX程序时不配置其开发环境会引起编译器报错, 下面就与大家分享 ...
- DirectX SDK (June 2010)安装错误S1023,解决方法
转自:http://hi.baidu.com/rootcat/item/6730f15f85e2c1958c12ed81 DirectX SDK (June 2010)安装错误S1023,解决方法 导 ...
- 安装 directx sdk 出现 S1023 解决
造成原因: directx sdk 在安装10.0.30319 of the Visual C++ Redistributable的时候发现有一个新版本的 Microsoft Visual C++ 2 ...
- Microsoft DirectX SDK 2010 版本下载
Microsoft DirectX SDK 2010 版本下载 Version:Date Published:9.29.19626/7/2010File name:File size:DXSDK_Ju ...
- 关于DirectShow SDK 和Windows SDK,及DirectX SDK
关于DirectShow SDK 和Windows SDK,及DirectX SDK 本文描述了DirectShow SDK ,Windows SDK,DirectX SDK ,VS200?之间的 ...
随机推荐
- 【uWSGI】 listen queue of socket (fd: 3) 错误分析
现在django的应用基本都是使用uWSGI来部署,类似下面 listen queue of socket "127.0.0.1:9001" (fd: 3) 的错误出现过2次,下面 ...
- memcached /usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory
启动memcached的时候发现找不到libevent的库,这是memcache的默认查找路径不包含libevent的安装路径,所以要告诉memcached去哪里查找libevent. 操作命令如下: ...
- html5学习之旅-html5的简易数据库开发(18)
实际上是模拟实现html5的数据库功能,用键值对的方式. !!!!!!废话不多说 ,代码 index.html的代码 <!DOCTYPE html> <html lang=" ...
- 深入理解 JSX
JSX 是一个看起来很像 XML 的 JavaScript 语法扩展.React 可以用来做简单的 JSX 句法转换. 为什么要使用 JSX? 你不需要为了 React 使用 JSX,可以直接使用纯粹 ...
- Leetcode_116_Populating Next Right Pointers in Each Node
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/43532817 Given a binary tree st ...
- 【matlab编程】Matlab版扫雷
我发现有些人平常闲着的时候会玩window自带的游戏,其中最常见的就是扫雷和纸牌.本来想用matlab编写全自动扫雷程序用来作弊,可是后来发现扫雷问题是NP完全问题(正如:旅行商NP难问题一样不能被解 ...
- 寻找春天 九宫格日记-2014.04.26
写九宫格日记 总会在听到某一首歌的时候泪流满面:总会在看到某个似曾相识的背影的时候惆怅莫名,总会在嗅到某种香味的时候默默发呆,总会在经过某个地方的时候频频回首.生命有限,不要把它浪费在重复别人的生活上 ...
- STL算法设计理念 - 二元函数,二元谓词以及在set中的应用
demo 二元函数对象 #include <iostream> #include <cstdio> #include <vector> #include <a ...
- infiniDB在linux下完成倒库
在网看到自己的文章被四处烂用,经常搜到自己的文章.关键是,你能把我头像删除了不,有本事,你 把网址也给出http://blog.csdn.net/longshenlmj/article/details ...
- 跟我一起写Makefile(转)
这是我见过最全的Makefile编写指南:跟我一起写Makefile. PDF版本可以从这里下载得到.