前言(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,以及有什么问题也可以在这里汇报。

DirectX11--使用DirectX Tool Kit帮助开发相关推荐

  1. DirectX 9.0c游戏开发手记之“龙书”第二版学习笔记之1: 开场白

    在开场白之前的说明: 这是"DirectX 9.0c游戏开发手记"的第一部分,叫做"'龙书'第二版学习笔记",讲的是我做"龙书"第二版(原名 ...

  2. 深度linux编程工具,Deepin Tool Kit(Dtk):构建深度样式应用程序的工具

    Deepin Tool Kit(简称Dtk)是深度工具套件小部件,用于构建深度样式应用程序的工具包,是开发Deepin风格的桌面软件,是所有在Deepin上的C++/Qt开发人员工作的基础开发工具. ...

  3. Windows Mobile 6.5.3 Developer Tool Kit

    目前,微软正在花大量的人力物力财力做Windows Phone 7,而且据说以后会给出硬件平台配置需求,目前的Windows Mobile 6.x系列机器无法升级到Windows Phone 7. 估 ...

  4. DirectX 12 3D 游戏开发与实战第五章内容

    渲染流水线 学习目标: 了解用于在2D图像中表现出场景立体感和空间深度感等真实效果的关键因素 探索如何用Direct3D表示3D对象 学习如何建立虚拟摄像机 理解渲染流水线,根据给定的3D场景的几何描 ...

  5. WTK -- Wayland Tool Kit

     Wayland Tool Kit:Wayland工具库 Wayland工具库为了更方便得使用Wayland. 源代码地址 http://git.oschina.net/afxmain/WTK.g ...

  6. DirectX 9.0c游戏开发手记之RPG编程自学日志之1 : 开场白

            本文由哈利_蜘蛛侠原创,转载请注明出处!有问题请联系2024958085@qq.com RPG,一个响亮的名字!从古至今,有多少英雄儿女为之竞折腰! "什么?!你要学习RPG ...

  7. 初学Java--JDK(java development kit java 开发工具包)的下载与安装教程

    初学Java–JDK(java development kit java 开发工具包)的下载与安装教程 1. 下载安装包 点开链接可以找到JDK的版本安装界面 可以看到如下图所示的界面: 下面是我选择 ...

  8. DirectX 12 3D游戏开发实战 -- 龙书随书源码各章项目运行结果概览

    DirectX 12 3D游戏开发实战 -- 龙书随书源码各章项目运行结果概览 第1章 向量运算 第2章 矩阵运算 第4章 Direct3D初始化 第6章 利用Direct3D绘制几何体Box 第7章 ...

  9. ModelArts 与HiLens Kit联合开发丨行人社交距离风险提示Demo

    摘要:本Demo使用YOLOv3_Resnet18模型来检测的视频流中的行人,获取行人坐标(即图中蓝色方框),然后计算所有检测到的人之间的相互"距离". 作者:华为云EI专家厉天一 ...

最新文章

  1. 41-First Missing Positive
  2. linux shell ls 时间排序显示
  3. 5 -- Hibernate的基本用法 -- 要点
  4. Ril分析三——客户端请求和响应处理与modem交互
  5. Py之reprint:reprint的简介、安装、使用方法之详细攻略
  6. 米家机扫拖机器人说明书_除菌扫拖一次搞定,科沃斯N8除菌扫拖机器人初体验...
  7. express中response.js 提供的sendFile方法的调试
  8. C# 文件读取方法,自己写的例子,保存一下,备用
  9. 库论计量计算电池容量
  10. 【keytool】keytool查看jks证书详情
  11. 如何在CAD图纸中添加文字
  12. 2020年回顾,这一年,不容易
  13. 用“狗屁不通文章生成器”写作文,竟打败73.5%的学生?
  14. 信道检测手机软件 ios_3.2、《无线通信基础》--点对点通信:检测、分集与信道的不确定性--时间分集...
  15. 同步和异步Socket多线程编程基本模型介绍
  16. 支持M1芯片的Photoshop 2021安装教程 已经支持M1芯片ARM M1处理器安装PS2021解决方案教程 最新方法!
  17. 类似qq新闻提示窗口样码(cpy)
  18. 博图v16组态wincc_体验博途V16的新玩意WinCC Unified(二)Hello World篇
  19. luogu P4233 射命丸文的笔记
  20. 注:*.java使用了未经检查或不安全的操作 问题解决

热门文章

  1. mongodb关联表查询
  2. 联合省选2022游记
  3. 让你的代码减少90%,这些Java工具库太强大了!
  4. 矩阵的对数运算公式_2021高考总复习数学对数与对数函数
  5. Delphi使用SpreadSheet
  6. Salesforce收购Slack背后的原因,你知道多少?
  7. 微信定位精灵服务器或网络异常,微信定位精灵系统界面无法更新怎么办
  8. wdcp mysql configure error_install Error: mysql configure err
  9. codeforces 300B切题记录
  10. 用了TCP协议,就一定不会丢包吗?