随笔分类 -  DirectX11 With Windows SDK

摘要:前言 在DirectX SDK中,碰撞检测的相关函数位于xnacollision.h中。但是现在,前面所实现的相关函数都已经转移到Windows SDK的DirectXCollision.h中,并且处于名称空间DirectX内。这里面主要包含了四种包围盒(Bounding Volumes),并且是以 阅读全文
posted @ 2018-08-29 20:30 X_Jun 阅读(5277) 评论(2) 推荐(2)
摘要:前言 上一章我们知道了如何使用几何着色器将顶点通过流输出阶段输出到绑定的顶点缓冲区。接下来我们继续利用它来实现一些新的效果,在这一章,你将了解: 实现公告板效果 Alpha-To-Coverage 对GPU资源进行读/写操作 纹理数组 实现雾效 在此之前需要额外了解的章节如下: 章节回顾 深入理解与 阅读全文
posted @ 2018-08-19 01:12 X_Jun 阅读(3792) 评论(0) 推荐(3)
摘要:前言 在上一章,我们知道了如何使用几何着色器来重新组装图元,比如从一个三角形分裂成三个三角形。但是为了实现更高阶的分形,我们必须要从几何着色器拿到输出的顶点。这里我们可以使用可选的流输出阶段来拿到顶点集合。 注意: 本章末尾有大量的GIF动图! 在此之前需要额外了解的章节如下: 章节回顾 15 几何 阅读全文
posted @ 2018-08-11 22:32 X_Jun 阅读(3299) 评论(1) 推荐(3)
摘要:前言 从这一部分开始,感觉就像是踏入了无人深空一样,在之前初学DX11的时候,这部分内容都是基本上跳过的,现在打算重新认真地把它给拾回来。 DirectX11 With Windows SDK完整目录 Github项目源码 欢迎加入QQ群: 727623616 可以一起探讨DX11,以及有什么问题也 阅读全文
posted @ 2018-08-08 22:12 X_Jun 阅读(4949) 评论(5) 推荐(1)
摘要:当使用加法/减法/乘法颜色混合,或者使用透明混合的时候,在经过深度测试时可能会引发一些问题。例如现在我们需要使用加法混合来绘制一系列对象,而这些对象彼此之间不会相互阻挡。若我们仍使用原来的深度测试,就必须保证某一像素下的所有片元需要按照从远到近的顺序来进行绘制,但这很难做到,尤其在绘制一些几何体的时候可能会出现在前面的像素片元挡住了后面的像素片元的情况。现在,我们有能力通过调整深度测试这一行为,来改变最终的显示结果。 阅读全文
posted @ 2018-08-05 19:19 X_Jun 阅读(3899) 评论(1) 推荐(1)
摘要:前言 深度/模板测试使用的是与后备缓冲区同等分辨率大小的缓冲区,每个元素的一部分连续位用于深度测试,其余的则用作模板测试。两个测试的目的都是为了能够根据深度/模板状态需求的设置来选择需要绘制的像素。 DirectX11 With Windows SDK完整目录 Github项目源码 欢迎加入QQ群: 阅读全文
posted @ 2018-07-28 13:04 X_Jun 阅读(5802) 评论(1) 推荐(4)
摘要:HLSL常量缓冲区打包规则 "DirectX11 With Windows SDK完整目录" 欢迎加入QQ群: 727623616 可以一起探讨DX11,以及有什么问题也可以在这里汇报。 尽管打包规则并不复杂,但是稍不留意就可能会导致因为打包规则的不理解而产生的数据错位问题。 下面会使用大量的例子来 阅读全文
posted @ 2018-07-27 11:23 X_Jun 阅读(7258) 评论(2) 推荐(8)
摘要:前言 虽然这一部分的内容主要偏向于混合(Blending),但这里还需提及一下,关于渲染管线可以绑定的状态主要有如下四种: 光栅化状态(光栅化阶段) 采样器状态(像素着色阶段) 混合状态(输出合并阶段) 深度/模板状态(输出合并阶段) Direct3D是基于状态机的,我们可以通过修改这些状态来修改渲 阅读全文
posted @ 2018-07-21 14:59 X_Jun 阅读(6798) 评论(0) 推荐(5)
摘要:前言 注意:本教程仅针对代码版本1.27.2及更高版本的项目,仍在使用旧版本代码的用户请留意更新项目代码 在本教程中,以前的第一人称摄像机实现是源自龙书的做法。考虑到摄像机的观察矩阵和物体的世界矩阵实质上是有一定的联系,因此可以将这部分变换给剥离出来,使用统一的Transform类,然后摄像机类与游 阅读全文
posted @ 2018-07-16 17:07 X_Jun 阅读(11567) 评论(34) 推荐(2)
摘要:前言 在之前的DirectX SDK中,纹理的读取使用的是D3DX11CreateShaderResourceViewFromFile函数,现在在Windows SDK中已经没有这些函数,我们需要找到DDSTextureLoader和WICTextureLoader这两个库来读取DDS位图和WIC位 阅读全文
posted @ 2018-07-12 09:26 X_Jun 阅读(17080) 评论(9) 推荐(7)
摘要:前言 注意:从这一章起到后面的所有项目无一例外都利用了Direct2D与Direct3D互操作性,但系统要求为Win10, Win8.x 或 Win7 SP1且安装了KB2670838补丁以支持Direct3D 11.1(DXGI1.2)。否则将无法显示所有文本。如果你的Win7系统运行程序无法显示 阅读全文
posted @ 2018-05-29 18:26 X_Jun 阅读(9232) 评论(2) 推荐(2)
摘要:前言 这一章项目涉及到的内容非常多,在学习之前你还需要了解下面内容: 章节内容 深入理解HLSL常量缓冲区打包规则 学习目标: 熟悉基本的Phong光照模型 掌握常量缓冲区打包规则 熟悉几何模型的顶点位置、法向量计算,能够使用Geometry库,实现原理可以留到看完纹理映射和法线贴图再回头看 熟悉光 阅读全文
posted @ 2018-05-28 17:29 X_Jun 阅读(14676) 评论(12) 推荐(3)
摘要:前言 由于个人觉得龙书里面第4章提供的Direct3D 初始化项目封装得比较好,而且DirectX SDK Samples里面的初始化程序过于精简,不适合后续使用,故选择了以Init Direct3D项目作为框架,然后还使用了微软提供的示例项目,两者结合到一起。你需要下载源码后再开始阅读。 此外,在 阅读全文
posted @ 2018-05-21 22:07 X_Jun 阅读(45041) 评论(8) 推荐(12)
摘要:前言 xnamath.h原本是位于DirectX SDK的一个数学库,但是现在Windows SDK包含的数学库已经抛弃掉原来的xnamath.h,并演变成了现在的DirectXMath.h。其实本质上并没有多大区别,只是将原来的xna数学函数移植到了这里,并多了一层名称空间DirectX。 Dir 阅读全文
posted @ 2018-05-15 17:15 X_Jun 阅读(11321) 评论(10) 推荐(3)
摘要:前言 提供键鼠输入可以说是一个游戏的必备要素。在这里,我们不使用DirectInput,而是使用Windows消息处理机制中的Raw Input,不过要从头开始实现会让事情变得很复杂。DXTK提供了鼠标输入的Mouse.h和键盘输入的Keyboard.h(现在已经单独抽离出来使用),对消息处理机制进 阅读全文
posted @ 2018-05-14 09:58 X_Jun 阅读(8262) 评论(0) 推荐(1)
摘要:前言(2018/11/4) DXTK库现在已经不随Github项目提供,因为只用到了其中的键鼠类,已经过提取加入到后续的项目中 但是如果你需要配置DirectXTK到自己的项目当中,可以参考这篇博客进行操作。 否则可以直接跳转到下一章。 |章节目录| | | | "05 键盘和鼠标输入" | "DX 阅读全文
posted @ 2018-05-13 22:04 X_Jun 阅读(4283) 评论(0) 推荐(1)
摘要:前言 一个立方体有8个顶点,然而绘制一个立方体需要画12个三角形,如果按照前面的方法绘制的话,则需要提供36个顶点,而且这里面的顶点数据会重复4次甚至5次。这样的绘制方法会占用大量的内存空间。 接下来会讲另外一种绘制方法,可以只提供立方体的8个顶点数据,然后用一个索引数组来指代使用哪些顶点,按怎样的 阅读全文
posted @ 2018-05-13 17:49 X_Jun 阅读(14670) 评论(14) 推荐(5)
摘要:前言 由于在Direct3D 11中取消了固定管线,要想绘制图形必须要了解可编程渲染管线的流程,一个能绘制出图形的渲染管线最少需要有这两个可编程着色器:顶点着色器和像素着色器。 在阅读本章内容之前,你还需要先浏览下面的章节: 章节 HLSL编译着色器的三种方法 学习目标: 初步了解渲染管线 能够动手 阅读全文
posted @ 2018-05-13 13:47 X_Jun 阅读(24410) 评论(5) 推荐(4)
摘要:前言 (更新于 2022/4/15) 教程已经断断续续出了四年了,稍微翻新一下开头。 从第一次接触DirectX 11到现在已经有将近五年的时间了。记得当初学习DirectX 11,在用龙书的源码配置项目运行环境的时候都花了好几天的时间才搞定,又因为书中的代码的开发环境(VS 2010)与现在的情况 阅读全文
posted @ 2018-05-12 17:32 X_Jun 阅读(100448) 评论(12) 推荐(24)
摘要:前言 这一章涉及的是常用的矩阵变换,绝大部分内容节选自龙书,以帮助大家构建矩阵与2D/3D空间的数学联系。 学习目标: 了解Direct3D的一些内在规定 掌握矩阵变换与2D/3D空间的联系 熟悉3D变换与投影成像的过程 熟悉2D变换与投影成像的过程 DirectX11 With Windows S 阅读全文
posted @ 2017-07-26 20:54 X_Jun 阅读(11676) 评论(0) 推荐(4)

levels of contents