DirectX11 With Windows 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,以及有什么问题也可以在这里汇报。
DirectX11 With Windows SDK--04 使用DirectX Tool Kit帮助开发的更多相关文章
- DX11 Without DirectX SDK--04 使用DirectX Tool Kit帮助开发
回到 DirectX11--使用Windows SDK来进行开发 DirectX Tool Kit下载 DirectX Tool Kit是一个包含许多类的集合,用于为公共Windows平台编写Dire ...
- 粒子系统与雨的效果 (DirectX11 with Windows SDK)
前言 最近在学粒子系统,看这之前的<<3D图形编程基础 基于DirectX 11 >>是基于Direct SDK的,而DXSDK微软已经很久没有更新过了并且我学的DX11是用W ...
- Directx11学习笔记【二十】 使用DirectX Tool Kit加载mesh
本文由zhangbaochong原创,转载请注明出处:http://www.cnblogs.com/zhangbaochong/p/5788482.html 现在directx已经不再支持.x文件了, ...
- DX11 Without DirectX SDK--使用Windows SDK来进行开发
在看龙书(Introduction to 3D Game Programming with Directx 11)的时候,里面所使用的开发工具包为Microsoft DirectX SDK(June ...
- DirectX11 With Windows SDK--00 目录
前言 (更新于 2019/4/10) 从第一次接触DirectX 11到现在已经有将近两年的时间了.还记得前年暑假被要求学习DirectX 11,在用龙书的源码配置项目运行环境的时候都花了好几天的时间 ...
- DirectX11 With Windows SDK--10 摄像机类
前言 DirectX11 With Windows SDK完整目录:http://www.cnblogs.com/X-Jun/p/9028764.html 由于考虑后续的项目需要有一个比较好的演示环境 ...
- DirectX11 With Windows SDK--26 计算着色器:入门
前言 现在开始迎来所谓的高级篇了,目前计划是计算着色器部分的内容视项目情况,大概会分3-5章来讲述. DirectX11 With Windows SDK完整目录 Github项目源码 欢迎加入QQ群 ...
- DirectX11 With Windows SDK--25 法线贴图
前言 在很早之前的纹理映射中,纹理存放的元素是像素的颜色,通过纹理坐标映射到目标像素以获取其颜色.但是我们的法向量依然只是定义在顶点上,对于三角形面内一点的法向量,也只是通过比较简单的插值法计算出相应 ...
- DirectX11 With Windows SDK--23 立方体映射:动态天空盒的实现
前言 上一章的静态天空盒已经可以满足绝大部分日常使用了.但对于自带反射/折射属性的物体来说,它需要依赖天空盒进行绘制,但静态天空盒并不会记录周边的物体,更不用说正在其周围运动的物体了.因此我们需要在运 ...
随机推荐
- Velocity 快捷键
快捷键(2018-03-08) General Keyboard Shortcuts The following shortcuts are available anywhere within the ...
- Android studio preview界面无法预览,报错render problem
1.查看报错信息,如果有报错,该叹号应为红色,点击查看报错,显示为render problem 2.打开res/styles.xml修改为如图,添加Base. 3.再打开preview界面
- 【Tsinsen A1039】【bzoj2638】黑白染色 (BFS树)
Descroption 原题链接 你有一个\(n*m\)的矩形,一开始所有格子都是白色,然后给出一个目标状态的矩形,有的地方是白色,有的地方是黑色,你每次可以选择一个连通块(四连通块,且不要求颜色一样 ...
- 【LOJ#6066】「2017 山东一轮集训 Day3」第二题(哈希,二分)
[LOJ#6066]「2017 山东一轮集训 Day3」第二题(哈希,二分) 题面 LOJ 题解 要哈希是很显然的,那么就考虑哈希什么... 要找一个东西可以表示一棵树,所以我们找到了括号序列. 那么 ...
- 模拟@Test的功能实现
注解和注释区别 * 注释:给程序员看的.* 注解:给虚拟机看的.(让虚拟机看到程序中的注解,注解代表程序的一些特殊的功能.) JDK中提供的注解 @Override :描述子类重写父类的方法: * J ...
- Git错误汇总
Git提示rejected To github.com:zhuxiaoxi/Web-Demo.git ! [rejected] master -> master (fetch first) er ...
- 第三十二篇-NavigationView导航抽屉的使用
效果图: 导航抽屉所用到的布局是DrawerLayout,可以在里面添加一个线性布局和TextView组件,TextView组件的文本信息就是"主页面".然后和线性布局平行添加一个 ...
- postman 抓包工具charles的使用
1.直接打开charles,然后,如果有https的话,需要安装证书,然后,设置代理 2.如果不是https的,不需要设置代理,直接抓取就可以 先安装证书: 然后设置代理: ...
- Codeforces Round #529 (Div. 3) D. Circular Dance
传送门 题意: 有 n 个孩子编号为 1~n ,绕着圣诞树 dance: 编号为 i 的孩子可以记住ai1,ai2两个小孩,ai1,ai2是 i 在顺时针方向的相邻的两个小孩,但ai1,ai2不一定是 ...
- toString()和toLocaleString()有什么区别
偶然之间用到这两个方法 然后在数字转换成字符串的时候,并没有感觉这两个方法有什么区别,如下: 1 2 3 4 5 6 7 8 var e=123 e.toString() "123& ...