摘要: 前言 注意:从这一章起到后面的所有项目无一例外都利用了Direct2D与Direct3D互操作性,但系统要求为Win10, Win8.x 或 Win7 SP1且安装了KB2670838补丁以支持Direct3D 11.1(DXGI1.2)。否则将无法显示所有文本。如果你的Win7系统运行程序无法显示 阅读全文
posted @ 2018-05-29 18:26 X_Jun 阅读(8421) 评论(2) 推荐(2) 编辑
摘要: 前言 这一章项目涉及到的内容非常多,在学习之前你还需要了解下面内容: 章节内容 深入理解HLSL常量缓冲区打包规则 学习目标: 熟悉基本的Phong光照模型 掌握常量缓冲区打包规则 熟悉几何模型的顶点位置、法向量计算,能够使用Geometry库,实现原理可以留到看完纹理映射和法线贴图再回头看 熟悉光 阅读全文
posted @ 2018-05-28 17:29 X_Jun 阅读(13516) 评论(12) 推荐(3) 编辑
摘要: 前言 由于个人觉得龙书里面第4章提供的Direct3D 初始化项目封装得比较好,而且DirectX SDK Samples里面的初始化程序过于精简,不适合后续使用,故选择了以Init Direct3D项目作为框架,然后还使用了微软提供的示例项目,两者结合到一起。你需要下载源码后再开始阅读。 此外,在 阅读全文
posted @ 2018-05-21 22:07 X_Jun 阅读(40520) 评论(8) 推荐(11) 编辑
摘要: 前言 xnamath.h原本是位于DirectX SDK的一个数学库,但是现在Windows SDK包含的数学库已经抛弃掉原来的xnamath.h,并演变成了现在的DirectXMath.h。其实本质上并没有多大区别,只是将原来的xna数学函数移植到了这里,并多了一层名称空间DirectX。 Dir 阅读全文
posted @ 2018-05-15 17:15 X_Jun 阅读(10618) 评论(10) 推荐(3) 编辑
摘要: 前言 提供键鼠输入可以说是一个游戏的必备要素。在这里,我们不使用DirectInput,而是使用Windows消息处理机制中的Raw Input,不过要从头开始实现会让事情变得很复杂。DXTK提供了鼠标输入的Mouse.h和键盘输入的Keyboard.h(现在已经单独抽离出来使用),对消息处理机制进 阅读全文
posted @ 2018-05-14 09:58 X_Jun 阅读(7666) 评论(0) 推荐(1) 编辑
摘要: 前言(2018/11/4) DXTK库现在已经不随Github项目提供,因为只用到了其中的键鼠类,已经过提取加入到后续的项目中 但是如果你需要配置DirectXTK到自己的项目当中,可以参考这篇博客进行操作。 否则可以直接跳转到下一章。 |章节目录| | | | "05 键盘和鼠标输入" | "DX 阅读全文
posted @ 2018-05-13 22:04 X_Jun 阅读(3891) 评论(0) 推荐(1) 编辑
摘要: 前言 一个立方体有8个顶点,然而绘制一个立方体需要画12个三角形,如果按照前面的方法绘制的话,则需要提供36个顶点,而且这里面的顶点数据会重复4次甚至5次。这样的绘制方法会占用大量的内存空间。 接下来会讲另外一种绘制方法,可以只提供立方体的8个顶点数据,然后用一个索引数组来指代使用哪些顶点,按怎样的 阅读全文
posted @ 2018-05-13 17:49 X_Jun 阅读(13431) 评论(14) 推荐(5) 编辑
摘要: 前言 由于在Direct3D 11中取消了固定管线,要想绘制图形必须要了解可编程渲染管线的流程,一个能绘制出图形的渲染管线最少需要有这两个可编程着色器:顶点着色器和像素着色器。 在阅读本章内容之前,你还需要先浏览下面的章节: 章节 HLSL编译着色器的三种方法 学习目标: 初步了解渲染管线 能够动手 阅读全文
posted @ 2018-05-13 13:47 X_Jun 阅读(22368) 评论(5) 推荐(4) 编辑
摘要: 前言 (更新于 2022/4/15) 教程已经断断续续出了四年了,稍微翻新一下开头。 从第一次接触DirectX 11到现在已经有将近五年的时间了。记得当初学习DirectX 11,在用龙书的源码配置项目运行环境的时候都花了好几天的时间才搞定,又因为书中的代码的开发环境(VS 2010)与现在的情况 阅读全文
posted @ 2018-05-12 17:32 X_Jun 阅读(91055) 评论(11) 推荐(23) 编辑
摘要: 在Visual Studio中使用Debug Visualizers在C++中实现对原始类的自定义调试信息显示 当我们在VS的C++中使用vector、list、map等这些STL容器,在开启调试的时候可以看到这样的信息: 然而在我们自己手写链表,调试的时候却要像这样一级一级展开,很是麻烦。 有时候 阅读全文
posted @ 2017-12-15 20:24 X_Jun 阅读(3269) 评论(2) 推荐(3) 编辑
摘要: 前言 这一章涉及的是常用的矩阵变换,绝大部分内容节选自龙书,以帮助大家构建矩阵与2D/3D空间的数学联系。 学习目标: 了解Direct3D的一些内在规定 掌握矩阵变换与2D/3D空间的联系 熟悉3D变换与投影成像的过程 熟悉2D变换与投影成像的过程 DirectX11 With Windows S 阅读全文
posted @ 2017-07-26 20:54 X_Jun 阅读(10400) 评论(0) 推荐(4) 编辑
摘要: KMP算法 在文本中寻找目标字符串 很多时候,为了在大文本中寻找到自己需要的内容,往往需要搜索关键字。这其中就牵涉到字符串匹配的算法,通过接受文本和关键词参数来返回关键词在文本出现的位置。一般人在初次接触的时候,可能会写出这样的代码: cpp / 返回字符串substr在str中首次出现的位置索引, 阅读全文
posted @ 2017-06-23 16:45 X_Jun 阅读(1169) 评论(0) 推荐(0) 编辑
摘要: FillConsoleOutputAttribute函数 来源:https://msdn.microsoft.com/en us/library/windows/desktop/ms682663(v=vs.85).aspx 作用 设置固定区域内的文本属性,从指定的控制台屏幕缓冲区字符坐标开始。 语法 阅读全文
posted @ 2017-05-31 19:28 X_Jun 阅读(888) 评论(0) 推荐(0) 编辑
摘要: SetConsoleTextAttribute函数 来源:https://msdn.microsoft.com/en us/library/windows/desktop/ms686047(v=vs.85).aspx 作用 设置控制台文本输出属性。 语法 参数 hConsoleOutput 控制台屏 阅读全文
posted @ 2017-05-31 19:05 X_Jun 阅读(1986) 评论(0) 推荐(1) 编辑
摘要: 控制台文本属性 来源:https://msdn.microsoft.com/zh cn/library/windows/desktop/ms682088(v=vs.85).aspx 控制台文本属性包含这两种:字符颜色和背景颜色。它的属性被定义在头文件Wincon.h(包含Windows.h)中。 | 阅读全文
posted @ 2017-05-31 18:44 X_Jun 阅读(708) 评论(0) 推荐(0) 编辑
levels of contents