文章列表

731 1 分钟

# 实现思路 Whitted-Style 以摄象机为起点,向成像平面发射射线(Ray),透过成像平面所被分成的像素打在最近的模型的点上,并将该点与光源连接,即已知入射方向,观察方向,法线方向,可以着色,并写回像素 加上光线的反射和折射和能量损失 可以一直递归下去 听上去很简单,但实际上一点也不简单 我们将光线的方程定义为一个方向向量与时间 t 相乘加上一个点 光线方程和平面联立求解 但对于发射出的光线,每个像素都要发射一条光线,每条光线的每次反射都要要与场景内每一个面的方程求交 计算量极大 # 优化思路 # AABB...
892 1 分钟

# 定义 对于一个表面定义以下单位向量 法线方向 n⃗\vec{n}n 指向光源方向 l⃗\vec{l}l 指向观察方向 v⃗\vec{v}v 半程向量 h⃗=v⃗+l⃗∥v⃗+l⃗∥\vec{h}=\frac{\vec{v} +\vec{l}}{\left \| \vec{v} +\vec{l} \right \| }h=∥v+l∥v+l​ 表面属性若干 # Blinn-Phong 模型 近似的经验模型 有三个参量 相加为最终结果 #...
453 1 分钟

# 光栅化 Rasterization 我们目前已经实现的是将场景中的物体经过 MVP 变换 (Model-View-Projection) 变换到二维平面上,接下来就是要进行光栅化。 首先我们需要找一个包围盒,常见的 AABB 包围盒采用该三角形最大最小的 XY 值作为顶点,在包围盒内我们可以应用光栅化函数 取每一个像素的中心,如果中心在三角形内,则着色,反之不着色 但是这样我们会发现图形是硬边缘,锯齿感比较严重 # 抗锯齿 Anti...
2.6k 2 分钟

对应 Games101 Lecture 3~4 # 模型变换 # 齐次坐标 就是将 点 [xyz]\begin{bmatrix}x\\ y\\ z\end{bmatrix}⎣⎢⎡​xyz​⎦⎥⎤​ 表示为 [xwywzww]\begin{bmatrix}xw\\ yw\\ zw\\ w\end{bmatrix}⎣⎢⎢⎢⎡​xwywzww​⎦⎥⎥⎥⎤​,其中 w0 ≠\ne= 0 向量 [xyz]\begin{bmatrix}x\\...
418 1 分钟

虚拟机的方式虽然环境搭建好了 但是网盘要下载很久,虚拟机也相对比较卡顿 需要更多的硬盘空间 # 下载 下载 Visual Studio Installer 选择 C++ 桌面开发 下载完打开 Visual Studio 新建项目,把作业压缩包的文件直接拖到项目里 # 配置包环境 Eigen 可以直接在 nuget 下载 下载完要把源代码里所有 eigen3 删去 至于 opencv,我直接 nuget 下载会报错 所以就直接下载 opencv 手动配置 下载好直接安装 安装完回到 VS,右键项目点击属性 在 链接器 - 输入 - 附加依赖项 中添加 opencv_world490d.lib 在...
91 1 分钟

这里会记录我对于 Krenz 老师的课程的个人总结 # 消失点 在透视投影中,所有平行线交与一个消失点 对于相同的平面上的物体,无论如何旋转,每一组平行线的消失点都在地平线上 但空中漂浮的物体随意
614 1 分钟

# 有符号整数的原反补码和无符号整数的 无码 无符号整数就是普通的二进制数 有符号整数就不一样了,分为原码、反码、补码 原码为符号位 + 普通二进制的数值位 # 对于负数,即符号位为 1 反码为原码数值位取反 补码为反码加一 反码就纯纯工具人跳板咯 甚至可以不需要这个工具人! 手算可以将从右往左第一个一左侧所有数值为取反 这个算一下就好理解了 不像补码的原理,涉及数论的群论 之前学离散数学还没学到群论,加上自己以后应该不会学密码学,就不踩这个坑了 # 对于正数 啥都不变 #...
367 1 分钟

# UV UV 坐标为从左上到右下,映射到从(0,0)到(1,1) TexCoord 默认 UV 为水平和竖直两个方向 从 0 到 1 使用 Mask 节点可以分离这两个分量,获取水平和竖直方向上分别从黑到白(从 0 到 1)的贴图 # 实现思想 对于方形渐变我们通过取特值方便理解和设计 对于贴图黑的地方为 0,白的地方为 1,灰的地方为 0.5 在对目标进行水平和竖直方向的分解 就很容易得出两个向量 我们所需要做的就是找到一个变换,使得一个向量变为另一个向量 当然我们有很多黑科技,而非只有加减乘除去找到这么一个变换 常用节点如下 #...
10k 9 分钟

🚀快速开始 - 💌依赖插件 - 📌基本配置 - 🌈界面显示 - 🦄特殊功能 以下介绍可以使用的 markdown 或者标签代码。 功能大部分基于 hexo-renderer-multi-markdown-it 渲染器,尤其是代码块的显示,与默认渲染器不兼容。 # links 链接块 本功能参考 NexT,基于 Hexo Tag 功能,用来建立友链或其他网址链接功能。 文章中的使用格式: 使用 links 标签块,包围 yml 语法书写的内容,字段包括 site 站点名称 必填 owner 管理员名字 可选,默认为 site...