摘要: 队列 队列的定义 队列是只能在队头出队(dequeue),只能在队尾入队(enqueue)的表。 队列的实现 链表实现 链表队列的定义 typedef struct Node { int m_Data; struct Node* m_Next; }Node; typedef struct Queue 阅读全文
posted @ 2025-10-13 23:59 单身喵 阅读(6) 评论(0) 推荐(0)
摘要: 树 树的定义 有且只有一个根节点。 有若干个互不相交的子树,这些子树本身也是一棵树。 树的分类 一般树: 任意一个节点的子节点的个数不受限制。 二叉树: 任意一个节点的子节点不超过两个。 一般二叉树 满二叉树:每一层上的节点数都是最大节点数。 完全二叉树:删除满二叉树最底层最右边的连续若干个节点后形 阅读全文
posted @ 2025-10-13 23:59 单身喵 阅读(9) 评论(0) 推荐(0)
摘要: 衡量算法的标准 一、时间复杂度 程序大概要执行的次数,而非时间。 二、空间复杂度 算法执行过程中大概所占用的最大内存。 三、难易程度 四、健壮性 阅读全文
posted @ 2025-10-13 23:58 单身喵 阅读(1) 评论(0) 推荐(0)
摘要: Unity URP 体积云 ​ 好久之前开的体积云,因为期末考试和过年拖了很久,这几天才算整完。记录一样实现的思路,方便日后忘记了回来复习。 ​ 云的渲染有多种实现方法,我实现的是基于RayMarching的体积云体渲染,也就是将云视为孤立的元素,光线经过云这种介质之后发生作用进入人眼,由于云不会自 阅读全文
posted @ 2025-10-13 23:55 单身喵 阅读(14) 评论(0) 推荐(0)
摘要: Untiy SRP 屏幕空间反射(SSR) ​ 前段时间在Unity中使用SRP实现了屏幕空间反射,同时尝试使用Unity内置的RenderGraph来管理渲染管线,项目的主要框架是基于该教程Unity Custom SRP,记录一下实现的过程方便后面要使用的时候复习。 后处理准备 创建后处理设置及 阅读全文
posted @ 2025-10-13 23:55 单身喵 阅读(8) 评论(0) 推荐(0)
摘要: MVP变换 把三维空间中的物体投影到二维平面上展示,需要经过MVP变换,MVP变换指的是:模型变换(model)、视图变换(view)、投影变换(projection)。模型变换指的是物体的缩放、平移、旋转等变换,视图变换 主要指如何确立相机位置, 投影变换,就是最后最重要的一步,把三维图形投影到二 阅读全文
posted @ 2025-10-13 23:55 单身喵 阅读(5) 评论(0) 推荐(0)
摘要: Ray Tracing Light Rays 光线的定义: 光线沿直线传播,不考虑波动性。 光线之间不发生碰撞。 光线从光源发出,经过吸收、散射进入到人眼,但光路可逆。 Ray Casting(光线投射) 从摄像机对屏幕中的每一个像素链接一条线,打出一根光线,判断该光线是否与物体相交。 若相交,选取 阅读全文
posted @ 2025-10-13 23:55 单身喵 阅读(5) 评论(0) 推荐(0)
摘要: 光栅化 Rasterrization—光栅化(三角形的离散化) 屏幕(Screen)在图形学我们可以被抽象为一个二维数组,其中二维数组中的每个元素是像素( pixel )。 屏幕空间(screen space)是由数组构成的平面坐标系,每一个像素用坐标表示,像素的中心在x+0.5和y+0.5上。 为 阅读全文
posted @ 2025-10-13 23:54 单身喵 阅读(4) 评论(0) 推荐(0)
摘要: 图形学中的变换 二维变换 缩放变换(Scale) 如上图,如果想把一个图形缩小为原来的0.5倍,那么就需要x坐标变为0.5倍,y坐标也变为0.5倍,可以用以下表达式表示 这两个表达式可以用矩阵的形式表示如下 Sx表示在x轴方向上缩放的倍数,Sy表示在y轴方向上缩放的倍数 反射变换(Reflectio 阅读全文
posted @ 2025-10-13 23:54 单身喵 阅读(8) 评论(0) 推荐(0)
摘要: 线性代数 向量 向量的基本概念 向量通常用\(\vec{a}\)或a表示,或使用起始点和终点表示\(\overrightarrow{AB}\) = B - A。 向量的长度写作\(\lVert\vec{a}\rVert\),单位向量表示为\(\hat{a}\) = \(\vec{a}\) / \(\ 阅读全文
posted @ 2025-10-13 23:54 单身喵 阅读(11) 评论(0) 推荐(0)
摘要: 着色(Shading) Blinn-Phong 反射模型(Blinn-Phong Reflectance Model) Blinn-Phong 反射模型将光分为三种: 反射高光(Specular Highlights)。 漫反射(Diffuse Reflection)。 环境光(Ambient Li 阅读全文
posted @ 2025-10-13 23:54 单身喵 阅读(5) 评论(0) 推荐(0)
摘要: 作业八 离完成101系列已经过了好几周了,中间的笔记也只写到光栅化之前,马上考完试打算把搁下来的笔记和作业实现细节给写一写,打算从作业八开始从后往前记录,笔记也相同,顺便复习一下快忘掉的知识。 环境搭建 由于虚拟机很卡,而且不知道怎么复制,不方便记录,因此我在作业五之后便舍弃虚拟机,使用vs编写。环 阅读全文
posted @ 2025-10-13 23:54 单身喵 阅读(3) 评论(0) 推荐(0)
摘要: 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 单身喵 阅读(1) 评论(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 单身喵 阅读(3) 评论(0) 推荐(0)
摘要: 在DirectX11使用imGui 生成imGui静态库 在GitHub上克隆imGui项目后,在文件夹中单独挑出imGui的核心代码 随后根据自己所使用的图形API和平台在backends文件夹中挑出需要的文件,这里选择这四个。 在自己需要使用imGui的项目内再创建一个项目,放入以上文件,再打开 阅读全文
posted @ 2025-10-13 23:50 单身喵 阅读(5) 评论(0) 推荐(0)