![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DirectX11 进阶篇
文章平均质量分 92
无
X_Jun96
与DX结下的不解之缘
展开
-
DirectX11 With Windows SDK--11 混合状态
前言DirectX11 With Windows SDK完整目录:http://www.cnblogs.com/X-Jun/p/9028764.html虽然这一部分的内容主讲混合,但这里还需提及一下,关于渲染管线可以绑定的状态主要有如下四种: 1. 采样器状态(像素着色阶段) 2. 光栅化状态(光栅化阶段) 3. 混合状态(输出合并阶段) 4. 深度/模板状态(输出合并阶段)实...原创 2018-07-21 15:03:57 · 1661 阅读 · 2 评论 -
DirectX11 With Windows SDK--12 深度/模板状态
前言深度/模板测试深度测试模板测试前言DirectX11 With Windows SDK完整目录:http://www.cnblogs.com/X-Jun/p/9028764.html深度/模板测试使用的是与后备缓冲区同等分辨率大小的缓冲区,每个元素的一部分连续位用于深度测试,其余的则用作模板测试。两个测试的目的都是为了能够根据深度/模板状态需求的设置来选择...原创 2018-07-30 08:31:31 · 1605 阅读 · 2 评论 -
DirectX11 With Windows SDK--13 动手实现一个简易Effects框架、阴影效果绘制
前言到现在为止,所有的教程项目都没有使用Effects11框架类来管理资源。因为在D3DCompile API (#47)版本中,如果你尝试编译fx_5_0的效果文件,会收到这样的警告:X4717: Effects deprecated for D3DCompiler_47在未来的版本中,D3DCompiler可能会停止对FX11的支持,所以我们需要自行去管理各种特效,并改用HLSL编译器去...原创 2018-09-26 09:11:04 · 1552 阅读 · 2 评论 -
DirectX11 With Windows SDK--14 深度测试
前言交换律深度测试关闭深度测试开启深度测试但关闭深度写入利用深度测试和模板测试来绘制闪电特效与其镜面RenderStates类的变化加法混合关闭深度测试允许深度测试,但不写入深度值的状态BasicFX类的变化BasicFX::SetDrawBoltAnimNoDepthTest方法BasicFX::SetDrawBoltAnimNoDepthWrite方法Ba...原创 2018-08-07 09:07:24 · 1026 阅读 · 0 评论 -
DirectX11 With Windows SDK--15 几何着色器初探
前言从这一部分开始,感觉就像是踏入了无人深空一样,在之前初学DX11的时候,这部分内容都是基本上跳过的,现在打算重新认真地把它给拾回来。DirectX11 With Windows SDK完整目录Github项目源码几何着色器首先用一张图来回顾一下渲染管线的各个阶段,目前为止我们接触的着色器有顶点着色器和像素着色器,而接触到的渲染管线阶段有:输入装配阶段、顶点着色阶段、光栅化阶...原创 2018-08-09 09:03:32 · 969 阅读 · 0 评论 -
DirectX11 With Windows SDK--16 流输出阶段
前言流输出阶段流输出状态的配置ID3D11DeviceContext::SOSetTargets方法–绑定流输出对应用于接收数据的顶点缓冲区ID3D11DeviceContext::SOGetTargets方法–获取绑定在流输出阶段的顶点缓冲区ID3D11Device::CreateGeometryShaderWithStreamOutput方法–创建带流输出阶段的几何着色器绘...原创 2018-09-06 12:18:42 · 1491 阅读 · 5 评论 -
DirectX11 With Windows SDK--17 利用几何着色器实现公告板效果
上一章我们知道了如何使用几何着色器将顶点通过流输出阶段输出到绑定的顶点缓冲区。接下来我们继续利用它来实现一些新的效果,在这一章,你将了解: 1. 实现公告板效果 2. Alpha-To-Coverage 3. 对GPU资源进行读/写操作 4. 纹理数组 5. 实现雾效DirectX11 With Windows SDK完整目录Github项目源码目录实现雾效HLSL...原创 2018-08-30 00:13:36 · 884 阅读 · 6 评论 -
DirectX11 With Windows SDK--18 使用DirectXCollision库进行碰撞检测
在DirectX SDK中,碰撞检测的相关函数位于xnacollision.h中。但是现在,前面所实现的相关函数都已经转移到Windows SDK的DirectXCollision.h中,并且处于名称空间DirectX内。这里面主要包含了四种包围盒(Bounding Volumes),并且是以类的形式实现的:BoundingSphere类–包围球(Bounding Box)Bounding...原创 2018-08-30 00:15:01 · 1291 阅读 · 2 评论 -
DirectX11 With Windows SDK--19 模型加载:obj格式的读取及使用二进制文件提升读取效率
前言一个模型通常是由三个部分组成:网格、纹理、材质。在一开始的时候,我们是通过Geometry类来生成简单几何体的网格。但现在我们需要寻找合适的方式去表述一个复杂的网格,而且包含网格的文件类型多种多样,对应的描述方式也存在着差异。这一章我们主要研究obj格式文件的读取。纹理映射回顾DirectX11 With Windows SDK完整目录Github项目源码.obj格式...原创 2018-09-11 21:48:05 · 2152 阅读 · 0 评论 -
DirectX11 With Windows SDK--20 硬件实例化与视锥体裁剪
前言这一章将了解如何在DirectX 11利用硬件实例化技术高效地绘制重复的物体,以及使用视锥体裁剪技术提前将位于视锥体外的物体进行排除。在此之前需要额外了解的章节如下:章节回顾18 使用DirectXCollision库进行碰撞检测19 模型加载:obj格式的读取及使用二进制文件提升读取效率DirectX11 With Windows SDK完整目录Gith...原创 2018-09-26 09:21:51 · 1217 阅读 · 0 评论 -
DirectX11 With Windows SDK--21 鼠标拾取
前言由于最近在做项目,不得不大幅减慢更新速度。现在可能一个月1-2章。拾取是一项非常重要的技术,不论是电脑上用鼠标操作,还是手机的触屏操作,只要涉及到UI控件的选取则必然要用到该项技术。除此之外,一些类似魔兽争霸3、星际争霸2这样的3D即时战略游戏也需要通过拾取技术来选中角色。给定在2D屏幕坐标系中由鼠标选中的一点,并且该点对应的正是3D场景中某一个对象表面的一点。 现在我们要做的,就是怎么...原创 2018-10-21 17:08:12 · 1067 阅读 · 0 评论 -
DirectX11 With Windows SDK--22 立方体映射:静态天空盒的读取与实现
前言从现在开始可以说算是要进入到高级主题部分了。这一章我们主要学习由6个纹理所构成的立方体映射,以及用它来实现一个静态天空盒。DirectX11 With Windows SDK完整目录Github项目源码欢迎加入QQ群: 727623616 可以一起探讨DX11,以及有什么问题也可以在这里汇报。立方体映射(Cube Mapping)一个立方体(通常是正方体)包含六个面,对于立方体映射...原创 2018-10-28 23:22:40 · 1669 阅读 · 0 评论 -
DirectX11 With Windows SDK--23 立方体映射:动态天空盒的实现
前言上一章的静态天空盒已经可以满足绝大部分日常使用了。但对于自带反射/折射属性的物体来说,它需要依赖天空盒进行绘制,但静态天空盒并不会记录周边的物体,更不用说正在其周围运动的物体了。因此我们需要在运行期间构建动态天空盒,将周边物体绘制入当前的动态天空盒。没了解过静态天空盒的读者请先移步到下面的链接:章节回顾22 立方体映射:静态天空盒的读取与实现DirectX11 W...原创 2018-11-06 10:38:24 · 1593 阅读 · 0 评论 -
DirectX11 With Windows SDK--24 Render-To-Texture(RTT)技术的应用、使用ScreenGrab保存纹理到文件
前言尽管在上一章的动态天空盒中用到了Render-To-Texture技术,但那是针对纹理立方体的特化实现。考虑到该技术的应用层面非常广,在这里抽出独立的一章专门来讲有关它的通用实现以及各种应用。此外,这里还会讲到如何使用DirectXTex的ScreenGrab来保存纹理,可以说是干货满满了。如果想要看Render-To-Texture在动态天空盒的应用,可以点此回顾:章节...原创 2018-11-18 15:51:32 · 1239 阅读 · 0 评论 -
DirectX11 With Windows SDK--25 法线贴图
前言在很早之前的纹理映射中,纹理存放的元素是像素的颜色,通过纹理坐标映射到目标像素以获取其颜色。但是我们的法向量依然只是定义在顶点上,对于三角形面内一点的法向量,也只是通过比较简单的插值法计算出相应的法向量值。这对平整的表面比较有用,但无法表现出内部粗糙的表面。在这一章,你将了解如何获取更高精度的法向量以描述一个粗糙平面。DirectX11 With Windows SDK完整目录Githu...原创 2019-01-08 11:22:10 · 1075 阅读 · 0 评论