摘要:
前言 注意:这一章对应项目代码2.x.x版本,持有低版本项目代码的同学请到Github更新一份 这一章将了解如何在DirectX 11利用硬件实例化技术高效地绘制重复的物体,以及使用视锥体裁剪技术提前将位于视锥体外的物体进行排除。 在此之前需要额外了解的章节如下: 章节回顾 18 使用DirectX 阅读全文
摘要:
前言 到现在为止,所有的教程项目都没有使用Effects11框架类来管理资源。因为在D3DCompile API (#47)版本中,如果你尝试编译fx_5_0的效果文件,会收到这样的警告: X4717: Effects deprecated for D3DCompiler_47 在未来的版本中,D3 阅读全文
摘要:
前言 由于目前VS的图形调试器有些问题,推荐大家去使用RenderDoc进行图形调试: RenderDoc图形调试 如果还是想用VS的图形调试就继续往下看 对于DirectX程序开发者来说,学会使用Visual Studio Graphics Debugger(图形调试器)可以帮助你全面了解渲染管线 阅读全文
摘要:
前言 一个模型通常是由三个部分组成:网格、纹理、材质。在一开始的时候,我们是通过Geometry类来生成简单几何体的网格。但现在我们需要寻找合适的方式去表述一个复杂的网格,而且包含网格的文件类型多种多样,对应的描述方式也存在着差异。这一章我们主要研究obj格式文件的读取。 因为精力问题无法对obj做 阅读全文
摘要:
前言 在DirectX SDK中,碰撞检测的相关函数位于xnacollision.h中。但是现在,前面所实现的相关函数都已经转移到Windows SDK的DirectXCollision.h中,并且处于名称空间DirectX内。这里面主要包含了四种包围盒(Bounding Volumes),并且是以 阅读全文
摘要:
前言 上一章我们知道了如何使用几何着色器将顶点通过流输出阶段输出到绑定的顶点缓冲区。接下来我们继续利用它来实现一些新的效果,在这一章,你将了解: 实现公告板效果 Alpha-To-Coverage 对GPU资源进行读/写操作 纹理数组 实现雾效 在此之前需要额外了解的章节如下: 章节回顾 深入理解与 阅读全文
摘要:
前言 在上一章,我们知道了如何使用几何着色器来重新组装图元,比如从一个三角形分裂成三个三角形。但是为了实现更高阶的分形,我们必须要从几何着色器拿到输出的顶点。这里我们可以使用可选的流输出阶段来拿到顶点集合。 注意: 本章末尾有大量的GIF动图! 在此之前需要额外了解的章节如下: 章节回顾 15 几何 阅读全文
摘要:
前言 从这一部分开始,感觉就像是踏入了无人深空一样,在之前初学DX11的时候,这部分内容都是基本上跳过的,现在打算重新认真地把它给拾回来。 DirectX11 With Windows SDK完整目录 Github项目源码 欢迎加入QQ群: 727623616 可以一起探讨DX11,以及有什么问题也 阅读全文
摘要:
当使用加法/减法/乘法颜色混合,或者使用透明混合的时候,在经过深度测试时可能会引发一些问题。例如现在我们需要使用加法混合来绘制一系列对象,而这些对象彼此之间不会相互阻挡。若我们仍使用原来的深度测试,就必须保证某一像素下的所有片元需要按照从远到近的顺序来进行绘制,但这很难做到,尤其在绘制一些几何体的时候可能会出现在前面的像素片元挡住了后面的像素片元的情况。现在,我们有能力通过调整深度测试这一行为,来改变最终的显示结果。 阅读全文
摘要:
前言 深度/模板测试使用的是与后备缓冲区同等分辨率大小的缓冲区,每个元素的一部分连续位用于深度测试,其余的则用作模板测试。两个测试的目的都是为了能够根据深度/模板状态需求的设置来选择需要绘制的像素。 DirectX11 With Windows SDK完整目录 Github项目源码 欢迎加入QQ群: 阅读全文
摘要:
HLSL常量缓冲区打包规则 "DirectX11 With Windows SDK完整目录" 欢迎加入QQ群: 727623616 可以一起探讨DX11,以及有什么问题也可以在这里汇报。 尽管打包规则并不复杂,但是稍不留意就可能会导致因为打包规则的不理解而产生的数据错位问题。 下面会使用大量的例子来 阅读全文
摘要:
前言 虽然这一部分的内容主要偏向于混合(Blending),但这里还需提及一下,关于渲染管线可以绑定的状态主要有如下四种: 光栅化状态(光栅化阶段) 采样器状态(像素着色阶段) 混合状态(输出合并阶段) 深度/模板状态(输出合并阶段) Direct3D是基于状态机的,我们可以通过修改这些状态来修改渲 阅读全文
摘要:
看了网上那么多有关highlight.js的教程,自己还没学过JavaScript和CSS,硬是花了3天的时间,才终于弄出了自己想要的效果。一开始我的博客园代码高亮效果是这样的: 个人希望代码块能够实现下面功能: 1. 调整代码块的背景颜色 2. 更换代码高亮的风格 3. 能够自定义哪些关键字、类/ 阅读全文
摘要:
前言 注意:本教程仅针对代码版本1.27.2及更高版本的项目,仍在使用旧版本代码的用户请留意更新项目代码 在本教程中,以前的第一人称摄像机实现是源自龙书的做法。考虑到摄像机的观察矩阵和物体的世界矩阵实质上是有一定的联系,因此可以将这部分变换给剥离出来,使用统一的Transform类,然后摄像机类与游 阅读全文
摘要:
前言 在之前的DirectX SDK中,纹理的读取使用的是D3DX11CreateShaderResourceViewFromFile函数,现在在Windows SDK中已经没有这些函数,我们需要找到DDSTextureLoader和WICTextureLoader这两个库来读取DDS位图和WIC位 阅读全文