摘要: Real-Time Shadows Shadow Mapping Shadow Mapping的算法 使用两趟Pass 第一趟Pass从光源所在的地方看向场景,并输出一个阴影贴图,来记录场景中最近的深度。 第二趟Pass使用第一趟渲染出的阴影贴图通过比较当前像素的深度与记录的深度来判断看到的物体是否 阅读全文
posted @ 2025-10-13 23:53 单身喵 阅读(8) 评论(0) 推荐(0)
摘要: DirectX RayTracing (1) : 绘制第一个三角形 ​ 有好一段时间没写文了,暑假前疯狂找实现,结果大败而归,道心破碎,狠狠的摆烂了一个暑假,上一篇 SSR 也是写到一半就搁置了,开学后才重新拾起来。最近准备学学 DXR ,因此把学习过程写下来记录一下。 ​ 我是通过直接阅读微软官方 阅读全文
posted @ 2025-10-13 23:52 单身喵 阅读(4) 评论(0) 推荐(0)
摘要: DirectX RayTracing (2) 简易的3D场景及光照 ​ 该文章基于上一篇对 DX12 光追管线的基础介绍,若是没看过可以去看看。有了基本的光追框架,在其基础上实现各种功能就简单了许多。这次的目的是实现 3D 物体的绘制及简单的光照。接下来便列出需要修改的地方及对应的原理。 资源的绑定 阅读全文
posted @ 2025-10-13 23:52 单身喵 阅读(5) 评论(0) 推荐(0)
摘要: 着色器和相关资源的创建 QG-Homework/小组作业/第一周 at main · wsdanshenmiao/QG-Homework (github.com) 编写着色器代码 首先是编写处理各种效果的HLSL代码 //顶点着色器 VertexOut VS(VertexIn vIn) { Vert 阅读全文
posted @ 2025-10-13 23:50 单身喵 阅读(3) 评论(0) 推荐(0)
摘要: 在DX12中使用着色器反射管理Shader 阅读全文
posted @ 2025-10-13 23:50 单身喵 阅读(2) 评论(0) 推荐(0)
摘要: 在DX12中使用DDSLoader和StbImage加载纹理 ​ 前几天学了一下在DX12中加载并绑定纹理,以免之后忘了记录一下是怎么加载的。 使用DDSTextureLoader12加载DDS纹理 ​ DDS是一种专门为GPU设计的纹理格式,因此在使用纹理之前建议将纹理转化为DDS格式,而且DDS 阅读全文
posted @ 2025-10-13 23:50 单身喵 阅读(3) 评论(0) 推荐(0)
摘要: 在DX12中管理资源的分配 ​ 这几天对着MiniEngine学了一下对DX12底层接口的封装及各种资源的管理,同时也自己试着封装了一下代表显存资源的ID3D12Resource,并对其的分配进行管理。要对资源进行管理首先就需要知道要如何创建这个资源,该接口所表示的资源由设备ID3D12Device 阅读全文
posted @ 2025-10-13 23:50 单身喵 阅读(4) 评论(0) 推荐(0)
摘要: 在DirectX11使用imGui 生成imGui静态库 在GitHub上克隆imGui项目后,在文件夹中单独挑出imGui的核心代码 随后根据自己所使用的图形API和平台在backends文件夹中挑出需要的文件,这里选择这四个。 在自己需要使用imGui的项目内再创建一个项目,放入以上文件,再打开 阅读全文
posted @ 2025-10-13 23:50 单身喵 阅读(6) 评论(0) 推荐(0)
摘要: 使用曲面细分绘制甜甜圈 构造圆环的思路 一开始想着使用贝塞尔曲面,通过调整控制点直接成环,或是先卷成圆柱再成环,后面想着使用贝塞尔曲面过于麻烦,且通过操纵控制点来变换不如直接变换平面直观,因此决定先构造一个平面,再卷成圆柱后成环。 构造平面 由于输入控制点外壳着色器的控制点数量与输出的数量可以不相同 阅读全文
posted @ 2025-10-13 23:50 单身喵 阅读(4) 评论(0) 推荐(0)
摘要: 使用DX12绘制几何体 顶点与索引 图元类型 要描述一个几何体,可以使用顶点加索引的方式来描述,每一个顶点中储存了一定的数据,而索引来描述如何连接这些顶点,而索引加上图元类型又决定了如何组装所有的顶点。在Directx中有如下图元类型: D3D_PRIMITIVE_TOPOLOGY_UNDEFINE 阅读全文
posted @ 2025-10-13 23:50 单身喵 阅读(2) 评论(0) 推荐(0)