DirectX11 With Windows SDK--使用Windows SDK来进行开发

从第一次接触DirectX 11到现在已经有一年时间了。还记得去年的这个时候被要求学习DirectX 11,在用龙书的源码配置项目运行环境的时候都花了好几天的时间才搞定,还得忍受上千个编译警告,不得不视警告为无物。而且里面的代码使用了Microsoft DirectX SDK(June 2010)开发包和里面的Effects 11框架,这些东西都已经是8年前的产物了。

然后在18年5月的时候,我先是在Github上翻到了微软对Effects 11库一直都还在更新,然后发现了DirectX Tool KitDirectX SDK Samples,里面提供的教程写法和龙书的做法不一样。然后我才明白,微软其实已经将DirectX的相关组件随同Windows SDK一起更新,并且早就已经放弃了对DirectX SDK的任何更新。而我现在使用的是Visual Studio 2017 Community,里面就已经包含了Windows SDK。经过一段时间的文档阅读后,决定尝试编写一个全新的教程来过渡到当前DirectX 11的较新版本。当然,更新进度也受限于我当前的学习进度。

但是在转移的时候也遇到了很多需要解决的问题,比如: 
1. 没有了诸如d3dx11.hxnamath.hdxerr.hxnacollision.hDInput.h等等头文件 
2. 使用新的Effects 11框架的话引发编译器警告,说fx5.0未来会被抛弃 
3. 不使用Effects 11框架就意味着需要逐个编译着色器并手工绑定到渲染管线上 
4. 龙书11的示例代码有关Effects 11的部分都不能看了,基本上还得靠自己重新编写

这些问题都可以下面的教程中找到对应的解决/替代方案,在这里就不一一列举了。

目录

由于该文章系列注重的是项目实践,对一些数学部分不会过于详细的描述。因此该教程主要面向的用户是: 
1. 已经掌握了线性代数的基础部分(上过线性代数课程,阅读过龙书1-3章,或3D数学基础一书) 
2. 已经初步掌握过一些HLSL基础(该教程不一定会提供HLSL基础) 
3. 苦于配置龙书的示例代码,寻求更好的解决方案 
4. 打算脱离Effects 11框架,使用HLSL编译器

项目源码点此

主题版次创建时间修改时间
01 DirectX11初始化第5版2018/5/122018/8/18
02 顶点/像素着色器的创建、顶点缓冲区第10版2018/5/132018/8/30
03 索引缓冲区、常量缓冲区第7版2018/5/132018/8/20
04 使用DirectX Tool Kit帮助开发第3版2018/5/132018/8/22
05 键盘和鼠标输入第3版2018/5/142018/7/28
06 DirectXMath数学库第1版2018/5/152018/5/15
07 添加光照与常用几何模型第7版2018/5/282018/8/8
08 Direct2D与Direct3D互操作性以及利用DWrite显示文字第4版2018/5/292018/8/8
09 纹理映射与采样器状态第7版2018/7/122018/8/11
10 摄像机类第3版2018/7/162018/8/8
11 混合状态与光栅化状态第3版2018/7/212018/8/8
12 深度/模板状态第4版2018/7/282018/8/8
13 抛弃FX11并初步实现BasicFX类第4版2018/7/292018/8/8
14 深度测试第2版2018/8/52018/8/6
15 几何着色器初探第1版2018/8/82018/8/8
16 利用几何着色器可选的流输出阶段帮助绘制多种分形第1版2018/8/112018/8/11
17 利用几何着色器实现公告板效果第2版2018/8/192018/8/20
18 使用DirectXCollision库进行碰撞检测第1版2018/8/292018/8/29

 

杂项版次修改时间
深入理解HLSL常量缓冲区打包规则第1版2018/7/27

参考到的一些网站:

Direct3D 11 Graphics(Windows SDK)

DirectX SDK Samples

DirectX Tool Kit

Windows SDK

龙书网站

HLSL

参考书籍:

Introduction to 3D Game Programming with DirectX 11

Practical Rendering and Computation with Direct3D 11

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值