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 立方体映射:动态天空盒的实现
前言 上一章的静态天空盒已经可以满足绝大部分日常使用了.但对于自带反射/折射属性的物体来说,它需要依赖天空盒进行绘制,但静态天空盒并不会记录周边的物体,更不用说正在其周围运动的物体了.因此我们需要在运 ...
随机推荐
- Power Stations HDU - 3663
我为什么T了.... Power Stations Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
- 【XSY1552】自动机 构造
题目大意 给你一个自动机,包含\(n\)个状态,指令集为前\(m\)个小写字母,对于每个状态\(s\)和每个指令\(i\),自动机均有后继\(T(s,i)\).请你求出一个长度不超过\(2^{20}\ ...
- Ionic3报错Error: Uncaught (in promise): Error: StaticInjectorError
ERROR Error: Uncaught (in promise): Error: StaticInjectorError[Geolocation]: StaticInjectorError[Geo ...
- [WC2014]紫荆花之恋(动态点分治+替罪羊思想)
题目描述 强强和萌萌是一对好朋友.有一天他们在外面闲逛,突然看到前方有一棵紫荆树.这已经是紫荆花飞舞的季节了,无数的花瓣以肉眼可见的速度从紫荆树上长了出来.仔细看看的话,这个大树实际上是一个带权树.每 ...
- django restframework 环境配置
Requirements: coreapi (1.32.0+) - Schema generation support.Markdown (2.1.0+) - Markdown support for ...
- docker命令篇
基础命令: 镜像: 获取镜像 $ docker pull centos:7 下拉自己仓库镜像,在后面仓库部分会讲到. 列出镜像: $ docker image ls 删除镜像: $ docker im ...
- 20165223 2017-2018-2《Java程序设计》课程总结
目录 每周作业链接汇总 实验报告链接汇总 自我剖析总结感悟 代码托管截图与链接 课堂项目实践 课后项目实践 课程收获与不足 学习建议 问卷调查 二维码链接 每周作业链接汇总 预备作业1:我期望的师生关 ...
- 使用指针来实现变长数组(VLA)
实现代码: #include <cstdio> #include <cstdlib> void usePtoImplementVLA(int SIZE) { scanf(&qu ...
- js 调试技巧
快捷键 1.快速查看HTML中dom元素绑定那些JS事件方法 chrome中 F12-->Elements-->Event Listenners 参考:https://jingy ...
- latex 双引号 “
别在latex敲,在记事本上敲完后,拷贝到latex中.