码迷,mamicode.com
首页 > 其他好文 > 详细

DX11 Without DirectX SDK--04 使用DirectX Tool Kit帮助开发

时间:2018-05-13 23:02:08      阅读:426      评论:0      收藏:0      [点我收藏+]

标签:结构体   lease   第三方   model   提取   desktop   第三方库   www.   des   

回到 DirectX11--使用Windows SDK来进行开发

DirectX Tool Kit下载

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版本。

我们需要修改Debug Win32, Debug x64, Release Win32和Release x64所有4个模式,然后对这4个模式分别生成一次,我们所需要的最终产物为4个模式下的静态库。

生成成功后,在Bin\Desktop_2017_Win10\Win32的Debug和Release文件夹里面都有生成的DirectXTK.lib,其中对Debug版本改为DirectXTKd.lib进行区分。然后在Bin\Desktop_2017_Win10\x64的Debug和Release文件夹里面生成的静态库也做一样的操作

将Inc文件夹和上面的四个静态库文件提取出来,自行整理成一个第三方库的文件夹,如:

DXTKDXTK\IncDXTK\Inc\...
DXTK\LibDXTK\Lib\Win32DXTK\Lib\Win32\DirectXTK.lib
DXTK\Lib\Win32\DirectXTKd.lib
DXTK\Lib\x64DXTK\Lib\x64\DirectXTK.lib
DXTK\Lib\x64\DirectXTKd.lib

那么后续的项目如果要用到DXTK,就需要包含文件夹 DXTK\Inc,并根据x86/Win32还是x64选择正确的库路径,然后再根据当前是Debug模式还是Release模式来选择引进正确的库。

我们可以新建4个项目属性表,让后续的项目都使用上这4个属性表,以减少配置流程。

DX11 Without DirectX SDK--04 使用DirectX Tool Kit帮助开发

标签:结构体   lease   第三方   model   提取   desktop   第三方库   www.   des   

原文地址:https://www.cnblogs.com/X-Jun/p/9033627.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!