Games101-笔记整理(下篇)17-22|关注

来源 : 哔哩哔哩 时间:2023-05-30 08:15:30

封面和头图都是个人作品,转载请声明。

17 材质与外观、18 高级光线传播与复杂外观模型


(资料图)

19 相机与透镜、20 光场、颜色与感知

21 动画与模拟(基本概念、质点弹簧系统、运动学)、22 动画与模拟(求解常微分方程,刚体与流体)

17 材质与外观

17.1 材质与BRDF

自然界中的材质:丝绸、头发、蝴蝶翅膀表面、寿司表面等等图形学中的材质:同一个模型之所以渲染出不同结果的原因就是因为材质。在图形学中是给不同的物体指定不同的材质,知道它们如何和光线作用后就能正确的渲染。

在渲染方程中,BRDF直接决定了光如何被反射,所以我们认为BRDF项反映光的材质。

17.1.1 漫反射 BRDF

漫反射材质:光线打到一个点上后均匀分散到各个不同方向上。

漫反射材质可以定义它在任何一个点上可以有不同的漫反射系数,虽然都是漫反射,但各个点的光被吸收的不同,所以会显示出不同的颜色。

之前在Blinn-Phong模型中,我们认为Lambert漫反射中系数 代表颜色被吸收多少。现在来研究的含义。

首先我们认为材质是diffuse的,radiance是均匀(uniform)分布的,那么从任何方向的光的radiance都是相同的。

利用能量守恒,这个点不吸收光不发光,光进来多少反射多少。所以入射光和出射光的radiance相同。

此时我们就可以用渲染方程,因为没有自发光项,我们就认为入射光从任何一个方向来,经过漫反射(BRDF是一个常数)后会被反射到上。

我们可以继续简化渲染方程,假设入射的radiance是常数,BRDF也是常数,把这两项放出去,此时我们会发现它就是对半球上一个cos函数的积分。

半球上直接对立体角积分得出的结果是。

刚刚假设是能量守恒,入射的Radiance要等于出射的Radiance,所以

由此就得出时,是完全不吸收能量的BRDF。

我们还可以定义反射率的概念albedo,albedo可以是单通道的一个数,也可以是三个数RGB,也可以是光谱。albedo定义一个反射率,它在0-1之间,如此一来我们就能引入不同颜色的BRDF,这个BRDF的值就是,这就是正确的漫反射的BRDF是多少。

17.1.2 Glossy BRDF

Glossy材质,不完全镜面反射,也就是抛光金属。

17.2BSDF=BRDF+BTDF

折射与折射:一根光线打进来,一部分能量沿着镜面反射出去;有一部分能量却进到物体内部,这叫折射。

这种材质是玻璃或者水。

反射BRDF和折射BTDF共同称为散射BSDF。

17.2.1 反射BRDF

反射定律:对于镜面物体有一个入射方向,法线方向,出射方向,入射角等于出射角。

反射公式:

平行四边形法则

投影

17.2.2 折射BTDF

全反射现象BTDF:再来看折射角公式:

当且  足够大时,根号里的内容便会小于0。而这就意味着,此时没有折射项,光线全部反射

菲涅尔项公式(精确):

17.4 微表面理论 Microfacet Material

Glossy的微表面法向量分布与整体几乎一致,而diffuse较为分散。

微表面镜面反射项公式

函数D:法线分布函数(Normal Distribution Function),其代表了所有微观角度下微小镜面法线的分布情况,粗糙表面法线分布相对均匀,光滑表面法线分布相对集中 (这种解释可能会有些抽象,后面会给出更加直观的物理上的解释)

函数G:几何函数(Geometry Function),描述了微平面自遮挡的属性。当一个平面相对比较粗糙的时候,平面表面上的微平面有可能挡住其他的微平面从而减少表面所反射的光线。

函数F:菲涅尔方程(Fresnel Rquation),描述了物体表面在不同入射光角度下反射光线所占的比率shadow masking:修正grazing angle:平着进来

补充:Cook-Torrance BRDF考虑了漫反射微表面和镜面微表面,即

其中分别指入射光线中被折射部分的能量所占的比率与被反射部分的比率(一般由菲涅尔项决定),而指漫反射的BRDF,

fcook−torrance指镜面反射的BRDF。两部分结合得到最终的BRDF。

Cook-Torrance BRDF计算的推导:

https://zhuanlan.zhihu.com/p/152226698

17.5 区分材质

材质可以分为两类:

各向同性:微表面法线分布均匀

各项异性:微表面法线分布有明确的方向性

各项异性的BRDF

和方向角(绝对立体角)有关

拉丝金属(钢锅底)、尼龙、天鹅绒

17.6 BRDFs的性质

非负性:能量的分布

线性性质:Blinn-Phong

可逆性

能量守恒

各向同性/异性

17.7 BRDFs的测量

测量的原因:理论准确,直接测出来,能测出来的就不用计算了。

做法:枚举所有camera和光源的入射出射方向

著名BRDF库:MERL BRDF Database

18 高级光线传播与复杂外观建模

本章虽然是高级光线传播与复杂外观建模,但是都没有展开讲,不涉及具体的计算。

18.1 高级光线传播

无偏的光线传播:如果无论样本多少,算出来的期望值永远是对的。例如蒙特卡洛积分,它没有系统误差。

有偏的光线传播:算出的期望值有一定误差的。

一致的光线传播:在有偏的情况下如果采样足够多的样本能够收敛到正确值

18.1.1 无偏的光线传播方法

18.1.1.1 双向路径追踪

之前的路径追踪是单向的,运用光源可逆性,从眼睛到光源。

BDPT双向路径追踪分别从光源和摄像机生成一系列半路径,然后再连接两个半路径的端点形成整条路径。

优点:光线传播在光源半边好算时,效果好

缺点:慢

18.1.1.2 Metropolis光线传播(MLT)

用马尔科夫链做蒙特卡洛积分

马尔科夫链是一种能在当前样本附近生成下一个样本的方法

在给定足够的时间下,可以以任意的函数为PDF生成样本,(当PDF的形状与要积分的函数形状一致时,使用蒙特卡洛积分效果最好)

优点:

特别适合做复杂光路的传播

缺点:

不知道收敛的速度(无法估计渲染时间)

局部,脏

所以不用来渲染动画

18.1.2 有偏的光线传播方法

18.1.2.1 光子映射

特别适合渲染SDS路径和焦散现象

举例一种方法:

渲染领域对于有偏无偏的理解:

有偏的结果相对于正确的结果会更模糊

一致的说明在样本足够多的情况下会收敛到正确结果

如果取作色点周围相同的面积去数里面的光子数,那结果是即有偏也不一致的

18.1.2.2 顶点的连接与合并(VCM)

结合BDPT与光子映射

主要思想:

如果BDPT中的半路径的两个端点在一个平面上,不能被连接但可以被合并,我们就不要浪费这些半路径

使用类似光子映射的方法把邻近的”光子“的贡献结合起来

18.1.3 实时辐射度(IR) 

主要思想:已经被照亮的表面就认为是光源

从光源发出半路径,并假设每个半路径的终点是虚拟点光源,然后根据这些虚拟点光源渲染整个场景

优点:速度快,通常在漫反射场景中效果良好

缺点:当 VPL 接近着色点时会出现峰值;无法处理有glossy材质

18.2 复杂外观建模

18.2.1 非表面模型

18.2.1.1 散射材质:云雾

18.2.1.2 头发、毛发、纤维

头发:

动物毛发:

18.2.1.3 颗粒材质

可以避免对所有颗粒进行显式建模,在一个单元上进行一些程序化的定义来简化模型目前仍没有很好的高效渲染这种材质的方法,仍然非常耗时,没有得到很广泛的应用

18.2.2 表面模型

18.2.2.1 半透明材质

18.2.2.2 布料材质

18.2.2.3 细节模型

微表面模型中最重要的是它的法线分布,但是我们描述这个分布用的都是很简单的模型,比如正态分布之类的,真实的分布要更复杂。真实的法线分布基本符合统计规律,但是又有一些细节

18.2.3 程序化生成外观

利用三维空间中的噪声函数指导材质的生成,可以进行动态查询应用:车绣效果、程序化地形、水面、木头纹理

19 相机与透镜

19.1 成像

成像=合成+捕捉

光栅化成像和光线追踪成像都相当于是在用合成的方法成像

capture就是捕捉真实的世界然后变成照片,用相机拍照就是一种很简单的利用capture的方法成像的行为

19.2 相机的组成

透镜是相机最重要的组成部分,透镜的成像和小孔成像一样:

针孔相机成像是没有景深的,我们做光线追踪的时候用的也是针孔相机,所以也是无法产生景深模糊的,如果我们能模拟光线与透镜的作用,那么我们也可以得到有景深的画面。

传感器的每一个点记录的是物体所有方向的光,即没一点存储的是irradiance

(Irrandiance:单位面积接受的光线的功率Power)

19.3 视场(FOV)

19.4 曝光(Exposure)

普光从物理意以上来说就是真正的所接受到的能量(Energy)。

影响曝光的参数:

快门速度(Shutter speed):快门打开时间越长,进光时间越长,进光量越多。

光圈大小(Aperture size):描述此项的数值称为f-stop,直观理解如果光圈越大,被遮挡的光越少,进光量越多,那么曝光的程度就会越高。

感光(ISO gain):感光度类似后处理,可以简单理解为对最终的图像值乘上了一个倍数即有线性性。

ISO是线性变换,ISO增大更亮,但更多噪点。因为信号有noise,ISO增大同时增大了noise。

快门打开时间越长,图片越亮,但图片会变动态模糊。因为快门记录一段时间的运动变换,然后平均,但这也给照片带来动感。同时,快门打开需要一定时间,所以照片于记录时间物体的状态一定会有微小差别。

光圈大小 F-stop 或者F-Number值(该行中的逗号代表小数点),该值大小与光圈直径的倒数成正比,因此FN值越小,代表光圈越大,进光量越大,画面亮度越高,但同时也会带来景深模糊的影响。

曝光主要的应用:高速摄影和低速摄影。对于高速摄影来说,物体运动速度极快,因此需要非常小的快门速度来捕捉到它,但同时为了补偿进光时间不够,还需要使用大光圈或提高ISO来保证曝光正常:

19.5 景深

理想透镜为小孔成像,它有如下性质:

焦点:所有平行射入透镜的光都会集中于一点。

所有从焦点射入透镜的光都会平行射出(光路可逆性)

焦距可以被随意改变

20 光场、颜色与感知

20.1 光场

20.1.1 眼镜成像

眼睛成像:我们看到这个三维世界,在眼睛里类似就是一幅二维的图。如果直接看到一幅记录了看到的光线信息的图,也能得到同样效果(虚拟现实)。

20.1.2 全光函数

全光函数可以描述我们可以看到的所有事物的集合。

定义:简单来说,我们假设在一个场景中,位置固定,可以四面八方地去看,则用极坐标可以定义我们的方向,全光函数描述了向某个方向看会看到什么样的值。

20.1.3 采样全光函数

光场把全光函数的一部分提取出来,表示更复杂的光的信息,这个概念比在一个点各个方向的光信息更多。定义光线

起点,方向:

两个点(默认方向已知)

光场记录的信息:在物体表面任何一个位置去向任何一个方向的光线强度(二维)。

左平面幕布看到的 右屏幕摄像机位置参数化表示的两种方法:

一种是固定(u,v), 看所有的(s,v)组成一张图,也就是表示了从不同点看到的外部世界的样子

另一种是固定(s,v),所有的(u,v)组成一张图,也就是表示了从不同方向看同一个点的样子(把一个像素的irradiance展开为radiance)

20.1.4 光场相机

光场相机最重要的功能是支持先拍照,后期再重新聚焦。光场相机原理:把像素换成了微透镜,把光分散到不同方向上去然后再记录下来。

优点:“虚拟”的移动相机(取不同方向的光线,好像在移动摄像机的位置)

缺点:对胶片的要求高、成本高

20.2 颜色和感知

20.2.1 物理基础

牛顿发现太阳光可以被棱镜分解成不同颜色,这说明白光是多种颜色的光混合出来的。

光谱:光线在不同波长上的分布。可见光光谱:波长大约在400nm~700nm

20.2.2 生物基础

颜色的定义:颜色是人类感知的一种现象;它不是光的一种根本的属性。不同波长的光不是"颜色“。

眼睛的结构:

20.2.3 色彩三色理论

不同视锥细胞感知的结果 就是 其光谱响应曲线与光强曲线对应位置相乘再积分起来的结果

人眼无法测量,大脑也无法接收有关每种光波长的信息,眼睛只能”看到”三个响应值(S,M,L)并最终由大脑接受。

20.2.4 同色异谱

同色异谱:两个不同的光谱,它们最终投射到相同的(S,M,L)响应值。

20.2.5 颜色重建与匹配

20.2.5 CIR RGB

CIE是一个组织,它们定义了RGB的系统,与之前的加色匹配设置相同,但原色和测试光都是单波长的光,通过测试来测量多少强度的三种原色加起来与测试光相同。

颜色匹配函数描述了每个 CIE RGB 原色光各自多少强度相加起来才能匹配 x 轴上给定波长的单色光。我们得到的是对应的是单一波长的光,但是现实的光线SPD是很多波长组合在一起的,所以在表示现实颜色时我们要把每一个波长都考虑进去,自然要使用积分表示:

20.2.6 颜色空间

20.2.6.1 标准RGB系统

标准RGB系统:Standardized RGB (sRGB) 系统是一种被广泛运用于各种设备的色彩系统,但是RGB所能形成的色域是有限的。

20.2.6.2 CIE XYZ系统

CIE XYZ :这个系统我们使用XYZ表示颜色,并且由于绿色部分在轴上分布比较均匀,Y也表示亮度,与RGB的区别其实就是匹配函数的不同。

20.2.6.3 基于感知的色彩空间(HSV)

HSV色彩空间被广泛地运用于“颜色选择器”。

L为亮度、a表示红绿、b表示蓝黄,这个空间认为轴的两端都是互补色

互补色是通过实验得到的,我们可以通过视觉暂留效果验证,比如先看一张反色的图,一段时间后换成空白,就能“看”到互补色。

21 动画与模拟(基本概念、质点弹簧系统、运动学)

21.1 关键帧动画(Keyframe Animation)

21.2 物理模拟

最简单的物理模拟:根据牛顿公式算出物体下一帧所在的位置。

物理模拟的应用:衣物模拟(碰撞检测)、流体模拟(先模拟再渲染)

21.3 质点弹簧系统(Mass Spring System)

质点弹簧系统:一系列相互连接的质点和弹簧质点弹簧系统的应用:绳子、头发和布料等的模拟

21.4 粒子系统(Partical System)

模型的动态系统可以看作大量粒子。每个粒子由一组物理(或非物理)的力组成。

每个粒子的生成过程:先模拟再渲染

动态生成粒子(如果需要)

计算每个粒子受到的力

引力与斥力

阻力

摩擦力

更新每个粒子的位置和速度

移除不需要的粒子(如果需要)

渲染粒子

粒子系统的应用:描述群体之中的个体,如鸟群中可以定义个体的运动属性,通过粒子模拟来解出来结果,其他还有分子结构、人群等。

21.5 运动学(Kinematics)

运动学(Kinematics)指的是物体如何运动,在这里主要描述如何做动画的,它通过骨骼系统实现,它分为前向运动学(Forward Kinematics)和逆向运动学(Inverse Kinematics)。

21.5.1 正向运动学(Forward Kinematics)

骨骼系统的表示:

Pin 钉子关节 (1D 旋转)

Ball 球状关节 (2D 旋转)

Prismatic joint (可以拉长或移动)

正向运动学通过关节的旋转计算出末端的运动,动画被描述为角度与时间的函数关系:

优点:容易实现

缺点:定义物理化,对于艺术家们不太友好

21.5.2  逆向运动学(Inverse Kinematics)

使用逆向运动学,动画师提供末端的位置,计算机计算出满足约束条件的关节角度。

逆向运动学存在一个位置多解或无解的情况。

求解逆向运动学的优化方法:

Numerical solution to general N-link IK problem

• Choose an initial configuration

• Define an error metric (e.g. square of distance betweengoal and current position)

• Compute gradient of error as function of configuration

• Apply gradient descent (or Newton’s method, or otheroptimization procedure)

21.6 绑定(Rigging)

Rigging 是创建角色模型的骨骼结构的过程。这种骨骼结构中有一系列控制点使得我们可以像操纵木偶一样操纵角色模型。

21.7 动作捕捉(Motion Capture)

动作捕捉能够得到真实的动作,但是操作复杂、成本高、有时难以捕捉到好的数据、不能处理夸张的动画效果。

其中运用最广泛的是光学方法。

21.8 动画生成管线

22 动画与模拟(基本概念、质点弹簧系统、运动学)

22.1 单粒子模拟

速度场:一种函数,在任意时刻t和位置x,都有对应的速度取值。

求解某个时刻粒子的位置实际上是求解常微分方程(ODE):

22.1.1 欧拉方法

22.1.2 改善不稳定性

22.1.2.1 中点法

22.1.2.2 自适应改变步长

22.1.2.3隐式(后向)欧拉方法

22.1.2.4 龙格库塔系列的方法(Runge-Kutta Families)

22.1.2.5 非物理的方法

基于位置的方法、Verlet积分等方法

优点:是快速而且简单

缺点:不是基于物理的,不能保证能量守恒

22.2 刚体模拟(Rigid Body Simulation)

刚体模拟(Rigid body simulation)不会发生形变,即刚体的内部都会以一种方式(趋势)进行运动,所以也可以把刚体模拟看成是粒子的扩充进行模拟:

22.3 流体模拟(Fluid Simulation)

一种流体模拟的方法:

假设水由许多刚体小球组成

假设水不能被压缩

所以,只要某处的密度发生了变化,就应该通过改变粒子的位置来“修正”

为了修正,我们要知道一个小球位置的变化对其周围密度的影响,即任何一个点的密度梯度(也就是导数)

修正位置的过程是一个梯度下降的过程-   这样简单的模拟最后会一直运动停不下来,我们可以人为的加入一些能量损失

模拟大量物体运动的两种思路:

拉格朗日法(质点法):以每个粒子为单位进行模拟

欧拉法(网格法):以网格为单位进行分割模拟

混合法:粒子将属性传递给网格,模拟的过程在网格力做,然后把结果插值回粒子

欧拉VS.拉格朗日:

完结撒花。

https://games-cn.org/intro-graphics/

https://sites.cs.ucsb.edu/~lingqi/teaching/games101.html

X 关闭

  • 热门推荐

备案号:沪ICP备2020036824号-7

邮箱:5 626 629 @qq.com

版权所有 西方休闲网所有