5.2k 5 分钟

以下为个人学习笔记整理,涉及坐标内容统一用右手坐标系,课程官网。 # Materials and Appearances # 什么是材质(materials) materials == BRDF # 漫反射(Diffuse/Lambertian)材质 光线照射在某点后,均匀的分散到半球的各个方向。 由于能量守恒,假设物体本身不吸收任何光线,那么入射光的 「Irradiance」 将会等于出射光的 「Irradiance」。 Lo(wo)=∫H2frLi(wi)cos⁡θidwiL_o(w_o) = \int_{H^2} f_r L_i(w_i) \cos \theta_i...
6.3k 6 分钟

以下为个人学习笔记整理,涉及坐标内容统一用右手坐标系,本节课中所指的「亮度」,均为 Radiance,课程官网。 # 蒙特卡洛路径追踪(Monte Carlo Path Tracing) # Probabilities # 概率密度函数(Probability Density Functions) X∼p(x)X \thicksim p(x) X∼p(x) 总概率是 1:p(x)≥0&&∫p(x)dx=1\text{总概率是 1:} \quad p(x) ≥ 0 \quad \&\& \quad \int p(x)dx =...
5.9k 5 分钟

以下为个人学习笔记整理,涉及坐标内容统一用右手坐标系,课程官网。 # 辐射度量学(Basic radiometry) 主要是用来定义光的一些空间中的属性。 辐射通量(Radiant flux) 强度(Radiant Intensity) 照度(Irradiance) 亮度(Radiance) # Radiant Energy and Flux(Power) # 辐射能量(Radiant Energy) 光线自身的能量,单位 JJJ —— 焦耳。 Q[J=Joule]Q[J=Joule] Q[J=Joule] # 辐射功率(Radiant Flux) 单位时间的能量(功率),单位 WWW...
1.4k 1 分钟

以下为个人学习笔记整理,涉及坐标内容统一用右手坐标系,课程官网。 # 光线追踪(Ray Tracing) 如何提高判断光线和物体是否有交点的速度呢❓ # 统一空间划分(Uniform Spatial Partitions)「Grids」 所有的空间划分,都是建立在计算光照之前。 适用于场景内物体分布均匀的情况。 # 预处理(Preprocess) 构建物体的包围盒。 构建包围盒内的网格。 判断包围盒内是否有物体。 # Ray-Scene...
3.1k 3 分钟

以下为个人学习笔记整理,涉及坐标内容统一用右手坐标系,课程官网。 # 光线追踪(Ray Tracing) 光线追踪主要是用来处理以下情况: 实现软阴影 处理光线需要多次弹射的时候 # Ray Tracing VS Rasterization # Rasterization 实时计算。 光线质量较低。 计算量较小。 # Ray Tracing 离线的计算。 光线质量较高。 计算量巨大,耗时较长。 # Light Rays 为了方便计算,对于光线,有以下三个假设: 认为光是延直线传播 光线之间的传播不会收到其他光线影响。 光线经过一系列的传播之后,最终会进入人眼。 #...
457 1 分钟

以下为个人学习笔记整理,涉及坐标内容统一用右手坐标系,课程官网。 # Shadow Mapping 阴影的核心思想:能被「摄像机」观察到的点,且该点也能被「光源」看见 # 阴影如何生成 从光源看向场景 从摄像机看向场景 # 从光源渲染场景 从光源出发,观察场景内能够看到的点,记下每个点的深度值。 # 从摄像机看向场景 摄像机观察到的点投影到光源上 如果两者的深度值相同,那么表示该点是可以被看到的。 如果两者的深度值不同,那么可以认为该点不能没看到。 # Visualizing Shadow Mapping 让我们来实际演练一下🐾 # 从光源看向场景 #...
1.4k 1 分钟

以下为个人学习笔记整理,涉及坐标内容统一用右手坐标系,课程官网。 # 曲面(Surfaces) # 双三次贝塞尔曲面补片(Bicubic Bezier Surface Patch) 可以理解为通过 16 个控制点,得到 4 条贝塞尔曲线。 再通过 4 条贝塞尔曲线,得到一个贝塞尔曲面。 # 网格相关操作 # 网格细分(Mesh subdivision) 把一个三角形拆分成多个小的三角形,并把拆分的三角形进行一定规则的移动。 # Loop Subdivision # 「Loop Subdivision」细分操作的基本单元必须是三角形,不适用于非三角形的面片。 #...
1.3k 1 分钟

以下为个人学习笔记整理,涉及坐标内容统一用右手坐标系,课程官网。 # 曲线(Curves) # 贝塞尔曲线(Bezier Curves) # 德卡斯特利亚算法(Casteljau Algorithm) 假定绘制一条曲线所需三个点 b0,b1,b2b_0,b_1,b_2b0​,b1​,b2​。曲线的起点为 0 终点 为 1,那么 t 位置处的点如何求得: 只需要求 bob1b_ob_1bo​b1​ 和 b1b2b_1b_2b1​b2​ 的比例 ttt 位置的点 b01,b11b_0^1,b_1^1b01​,b11​。 再计算 b01b11b_0^1b_1^1b01​b11​ 比例 ttt...
1.6k 1 分钟

以下为个人学习笔记整理,涉及坐标内容统一用右手坐标系,课程官网。 # 几何(Geometry) 如何描述不同形状的几何,如何定义光滑的曲面。 # 几何的表示 # 隐式(Implicit) 隐式的表示方法相当于定义了一组规则,即:每个点都可以由函数推导出来。而我们不给出每个点的具体值,只提供推导函数。例如: 球体的表示 x2+y2+z2=1x^2 + y^2 + z^2 = 1x2+y2+z2=1 通用的定义形式:f(x,y,z)=0f(x,y,z) = 0f(x,y,z)=0 # 构造立体几何(Constructive Solid...
4.8k 4 分钟

以下为个人学习笔记整理,涉及坐标内容统一用右手坐标系,课程官网。 # Texture Mapping Cont # 重心坐标(Barycentric Coordinates) 主要用来对三角形各顶点进行插值计算。 # 什么是重心坐标 在三角形 ABC 所形成的平面上的任何一个点,都可以用 A、B、C 三个顶点的线性组合。 如果该点在三角形内,那么 α,β,γ\alpha , \beta , \gammaα,β,γ 都必须是非负的。 (x,y)=αA+βB+γC(x,y) = \alpha A + \beta B + \gamma...