类似图片这种效果是物理上的什么是反射物理吗

原标题:着色中的数学和物理原悝 Naty Hoffman

大家好!在接下来的15分钟我将从着色中蕴含的物理原理讲起然后会介绍用于描述物理原理的数学公式。最后提到的渲染实现将在剩余課程内讲到

那么从物理学角度来讲,到底什么是光理论上讲,它是横向的电磁波意味着当能量向前传播时,它的电磁场向两边摆动该摆动在电磁场内可以视为两个耦合场:电场与磁场,彼此相对垂直

电磁波可以由频率(单位时间内摆动次数)或者波长(两波峰间嘚距离)区分。

工程师们处理的电磁波波长范围从不到一纳米的百分之一的Gamma波,到频率极低而波长极长的无线电波长从400纳米(紫外线)到700纳米(红外线)为人眼可见光。

为了感性地认知400到700纳米是什么样子在左侧你看到的是可见光相对于一根蜘蛛丝的长度,右侧则是同樣的一根蜘蛛丝相对于人类头发的长度

目前我们见到的只是单一波长的正弦波。这是可能的最简单的光波但它并不是很常见。

大多数嘚光包含不同能量的波长左上图是光谱功率分布图(SPD,Spectral Power Distribution)它显示出此波的能量存在于一条单一波长中,即光谱中的绿色部分图中为噭光发出的单色光。

上图所示为一束红色绿色和蓝色激光的SPD。将它们乘以一个因子然后相加得到了右边的SPD图。这和RGB激光投影设备发出嘚光相似目前在剧院中广泛使用。

最终的波形要比单一的正弦波要复杂得多但也就如此。

自然中的大多数光波拥有广泛的连续的SPD对應着复杂的波形。该图为D65一种标准的白色光源。

有趣的是这两个完全不同的SPD对应同样的颜色(注意y轴的比例不同)。人眼所看到的颜銫失真它将SPD所在的无限维度空间降低为三维空间。

在真空中光波会永远传播但我们感兴趣的是当光作用于物质时会发生什么。

当电磁波击中一束原子或分子时会将它们极化……

……将分子的正负电荷分开形成偶极子(dipole)。这个过程吸收波的能量……

……而这个能量会隨着分子“复原”的时候被放射出去(有些会以热损耗的形式放出)在稀薄的空气中,分子间距离很大可以认为是彼此独立的粒子。其他情况中则会受到偶极子作用和电磁波干涉,由于数量太多而无法准确地模拟

想要解决这个难题,光学严格地讲物理光学或波光學,采用了一定的抽象、简化和近似法进行研究

其中一项简化内容就是均匀介质概念的提出,光在均匀介质中沿直线传播虽然这是一個抽象化的概念(因为原子组成的物质不可能是绝对均匀的),实际上对于统一密度和成分的物体来说非常适用

我们通常使用折射指数(IOR,Index of refraction)来描述均匀介质的光学性质它是一个复数(换句话说,一个两部分的数)IOR的一部分描述了光在介质中传播的速度,另一部分描述了介质对光的吸收量(非吸收性介质为0)

介质中一定范围内的非均匀部分被称为粒子;IOR不连贯的地方会将入射光散射到不同的方向。這和上文谈到的单个分子的极化相似但是这些粒子有可能由很多粒子构成。

一个介质的总体外观是由它的吸收性质和散射性质综合决定嘚例如,外表为白色(就像上图右下角的牛奶)是高散射率和低吸收率导致的有颜色的液体会多吸收一些波长的光而少吸收另外波长嘚光。

我们简单地介绍了一些介质剩下的演讲将会集中讲解物体的表面。

从光学角度看一个表面最重要的是它的粗糙度。没有绝对光滑的表面至少在原子级别你会发现一些不整齐的地方。和波长相近或稍小一点(我们称之为纳米几何级)的不整齐部分会导致衍射现象嘚发生

惠更斯原理可以帮助更好地理解衍射现象。它声明平面波上的每一点可以为视为一个球面波的中心这些球面波彼此发生干扰……

……结果产生平面波。目前为止一切还好

但是当光碰到障碍物时……

……惠更斯原理展示出它如何在角落处略微偏移。在所有的现象Φ衍射会导致阴影稍微变得柔软,甚至光源很小的光也会如此

图中所示为一光波击中光学平滑曲面(也就是该曲面上所有的不规则部汾都在纳米几何尺寸,小于波长)同样的原则也适用。

表面上的每一个点都发出以其为圆心的球面波由于面的不规则,有些高点有些低点

这些不在一条线上的球面波形成了一个形状复杂的波阵面,它将不同量的光发射到不同的方向面上不规则的部分越小,被衍射的咣越少入射光碰撞每个原子时会造成一个很小程度(但是可测量的)的衍射。

波光学暂告段落我们接着讲讲几何光学(或者叫射线光學)。这是一个更简化的模型在计算机绘图学中占主导地位。我们要做的一个简化就是忽略纳米几何和衍射;我们将光学平滑曲面作为唍美的平面

可以从电磁波方程中得出,这样完美的平面将入射光分为两个方向:什么是反射物理方向和折射折射方向

很多现实世界的媔在光学意义上不平滑,而且包含的不整齐的部分要远大于光的波长但远小于一像素。这样的微米几何(microgeometry)差异导致面上的每个点以不哃的角度什么是反射物理(或折射)光:外表呈现的是什么是反射物理和折射的混合结果

这些面看上去同样光滑,但在微米级略有区别上面的曲面只少量粗糙;曲面上的点角度差别很小,光照射在上面被什么是反射物理到一个差别不是很大的方向导致的模糊什么是反射物理很少。下面的曲面要更粗糙导致非常模糊的什么是反射物理。

在宏观上我们可以使用统计法处理微米几何视表面将光什么是反射物理(和折射)到多个方向。表面越粗糙什么是反射物理和折射形成的圆锥越大。

折射光发生了什么这与物体的材质有关。

光是由電磁波组成的所以物质的光属性与它的电属性紧密相关。光学上物质被分为三大类:金属(导体)电介质(绝缘体),半导体

由于鈳见物体的表面很少是半导体材质的,为了实用目的我们可以简化一下分组:金属和非金属类

金属会立即吸收折射光。

非金属和我们之湔见到的液体表现相似:折射光会被一定程度散射/吸收除非物体是由类似玻璃或者水晶这样干净的物质制成,否则有一部分折射光又会被散射回表面上:如图中蓝色箭头所示它们射向表面不同的方向。

被重新射出的光与它的进入点之间距离差异很大(如上图黄条所示)该距离的大小与散射粒子的密度和特性有关。

如果像素的大小(或者叫样本着色区)相较于光的出入距离很大(就像红框绿色区域)絀于着色的考虑我们可以假设光的出入距离为0。

通过忽略光出入距离我们可以计算一定点临近的所有着色处理。着好的颜色只受表面那┅定点的光照影响

赋予这两种光-物质作用不同的着色术语会很方便。我们将什么是反射物理光称为“高光”将折射、吸收、散射和再折射所产生的光统称为“漫什么是反射物理光”。

假如像素小于光的出入距离(红框绿色区域)那么我们需要一种特殊的渲染技术“表媔下散射”。甚至通常的漫什么是反射物理着色也是表面下散射的结果:不同在于着色分辨率与散射距离的比较例如,塑料在一些极度特写镜头(例如小玩具)中会出现一定的漫什么是反射物理现象

目前我们讨论了光作用于物体的物理原理。将这些物理原理转化为着色使用的数学模型第一步要将光量化为数字。

辐射度量学是对光进行测量的学科在辐射度量学众多物理量中,我们使用辐射率……

……來测量光沿着一条单射线的强度……

……辐射率因光谱而异辐射率被表达为SPD,就像我们上文提到的在课程的后面部分我会讲到Weta Digital对光谱渲染的使用。但是在今天的演讲中我只会沿着传统的电影和游戏手法使用RGB代替因光谱而异的辐射率。辐射率的单位是W?sr?1?m?2。

假设著色处理可以在临近区域内完成光在表面上一点的反应只与入射方向与视觉方向有关。

Function双向性什么是反射物理系数分布函数)一个关於入射光方向l和视角方向v的函数来代表这种变化。如图所示理论上BRDF是一个拥有3或4个角度的函数。在实用中BRDF函数使用不同数量的角度。紸意BRDF只有在入射向量与视角向量都在宏观表面的上方时才有定义;查看课程笔记上有关如何处理其他情况的技巧

这个看上去可怕的方程僅仅是说从一点射出光的辐射率等于入射光辐射率乘以BRDF乘以一个余弦因子,然后在入射方向的半球内做积分如果你不熟悉积分,你可以紦它想象成一种所有入射方向的加权平均数“圆中有X”的符号借鉴于Real-Time Rendering 这本书:它表示RGB对应分量的乘法。

我们首先来看表面或者说是高咣面。在这张图片中从表面射回的橘色箭头代表着高光

微平面模型理论是一种从非光学平面什么是反射物理中推演BRDF的方法。该理论成立嘚依据是假设平面的细节小于观测尺度但大于光的波长。每一点在其周围都是一面完美的镜子将每一束入射光什么是反射物理到一个方向,什么是反射物理光的方向依赖于入射光的方向I和微平面法线m

只有那些法线m在l和v中间的微平面会什么是反射物理任何可见光。这个方向被称为半角向量h

并不是所有m=h的微平面都适用:一些会被其它的微平面挡住光源(形成阴影)或者挡住视角方向(形成遮盖)。

事实仩被挡住的光会继续弹跳;有的最终会导致BRDF。微平面BRDF忽略这一点也就是说,被挡住的光就散失掉了

这是微平面高光BRDF函数。我将详细講解不同部分

菲涅尔什么是反射物理率是入射光经由给定物质的光学平面什么是反射物理而成的什么是反射物理光部分(而不是折射部汾)。它随着入射光方向和平面(在本例中为微平面)法线的改变而变化菲涅尔什么是反射物理率反映的是击中相关微平面(那些面对半角方向的平面)的光的什么是反射物理量大小。

菲涅尔什么是反射物理率(此图中的y轴)依赖于折射指数(换句话说物品的材质组成)以及入射角(图中的x轴)。该图中画出了三线物质(铜和铝)R、G、B三个颜色频道分别的什么是反射物理率——其它的一线物质只画出了沒有颜色的什么是反射物理率

对一个光学平面来讲,菲涅尔什么是反射物理率的相关角度是视角与法线向量的夹角该图显示的是3D玻璃(上图绿色曲线)壶的菲涅尔什么是反射物理率。注意中心部分的黑暗如何在边缘变得明亮

随着角度的增加,菲涅尔什么是反射物理率茬前45度角中几乎没有变化(图中绿色区域);然后开始变化首先缓慢(黄色区域,一直到75度角)然后对于掠射角(红色区域)所有波长嘚光都急剧上升至100%

这是该3D物体相同颜色区域的形象示意图。可以看出绝大多处可见像素的所在区域什么是反射物理率几乎没有变化(绿銫)或者变化很小(黄色)

由于可见物体的表面大部分区域菲尼尔什么是反射物理率为0或几乎为0,我们可以将该值(F0)视为表面特有的高光颜色

如上所述,将物体分类为金属绝缘体和半导体非常有用。金属有明亮的高光除了一个例外(金子的蓝色频道),这张表中嘚线性数值没有低于0.5的且多数要远高于0.5除了线性数值,我们还列出了各材质独有的8比特sRGB值因为金属不存在表面下散射,所以它们的颜銫是表面什么是反射物理决定的

某些金属颜色很重,尤其是金子;除了蓝色频道数值极低它的红色频道数值大于1(超出sRGB范围)。实际仩金子颜色的厚重决定了它在文化和经济上独一无二的重要性尽管蓝色数值低,金子是最亮的金属之一——这张表是以高光亮度(CIE Y坐标)进行排序的

另一方面,绝缘体拥有非彩色的黑暗高光色所以这张表只给出了一个值而不是RGB三个值。如图所示它们除了高光色还有漫什么是反射物理色。所以和金属不同高光色并不是决定表面颜色的唯一来源。

在这我将常见的绝缘体按照递增的F0?值分组,从2%的水到瑺见的塑料和玻璃到一些装饰品,最后是钻石和类钻石由于大多数绝缘体F0?值都在“塑料和玻璃”区间内,我们使用4%代表所有绝缘体嘚F0?值。

那么半导体呢?正如你所预料的它们的F0?值介于最明亮的半导体和最黑暗的金属之间,例如上图所示的硅通常我们看不到生产Φ的半导体表面,所以出于实用考虑20%到40%的范围是F0?值的“禁止出现区域”。现实物体表面的F0?值应避免落在这一区域

我们介绍了如何得到0喥的菲涅尔什么是反射物理率。那么如何得到其它角度的值呢

  • 非常精确,简洁用F0参数化的方法:

  • 用于微平面BRDF(m=h)的方法:

在生产中,施利克近似法很常见它简单且相当精确;更重要的是,它使用高光色进行参数化如我们之前所见,当在微平面BRDF中使用它时我们用h向量代替法向量。

接下来我们讲微平面BRDF中的微平面正态分布(NDFNormal Distribution Function)。NDF表示的是相对于表面区域指向特定方向(本例中为半角方向)的微平媔法线的密集程度。NDF决定了高光的大小和形状

课程笔记中详细介绍了可用的不同NDF。

一些NDF为“水滴状”高光的高斯分布……

其它的形状上哽“尖”尾部很长,导致高光部分很小周围有“光晕”环绕。

许多表面不能使用这样平滑的函数表示我将要使用Yan 等人去年发表的闪咣渲染的论文来说明这一点。用于生产的BRDF函数与法线贴图过滤技术使用平滑的耳垂形它们在各方向同性……

……或者各方向异性。然而许多面有相对粗糙的微米几何,使得NDF看上去像……

……这样表面发生闪光。虽然去年的“闪光渲染”论文提出了一种可用于电影制作嘚方法对于游戏制作来说太费钱了。游戏会继续使用更多的ad-hoc(点对点)方法;今年的“高阶实时渲染”课程中介绍的雪花效果是一个很恏的例子

我们使用NDF解释表面变形的现象。以下图片节选自Nagano等人的“皮肤微结构变形”论文我将在今天下午的“外观捕获”部分展示它。左图展示的是不同程度的挤压和伸展下的一小块皮肤;它的NDF显示在右图中

我们可以看到皮肤从被挤压到被伸展的变化,它的NDF相应地改變

虽然这个论文是关于皮肤的,这一类的变化会出现在任何柔韧物体的表面上

几何函数,或称阴影遮盖函数表现的是特定方向上(哃样,这里指的是半角方向)的微平面被照亮并且从入射光方向和视角方向可见(换句话说没有阴影或没有遮盖)的概率。

供选择的几哬函数有很多但是,Eric Heitz指出(推荐阅读他的完整分析)……

……只有史密斯函数(此处为无关联形式)在数学上成立且在物理中实际可荇。更多的细节(包括史密斯函数的不同形式)可以在Heitz的论文中找到

综上,我们得出BRDF正比于活跃微平面(法线与h在同一条线上)的密集喥乘以可见度乘以菲涅尔什么是反射物理率剩余的BRDF部分(分母部分)包含一个矫正因子,与不同的结构有关(光的结构视觉的结构,臨近表面的结构)

表面下什么是反射物理(漫什么是反射物理项)

到目前为止我们集中讲解了高光(表面)什么是反射物理项。接下来我们快速讲一下漫什么是反射物理(或者平面下什么是反射物理)项。

  • 常数(n·l是什么是反射物理率方程的一部分)

  • Cdiff:光被什么是反射粅理的部分或者叫漫射颜色。

兰伯特模型是游戏和电影制作中常用的漫射术语它是BRDF最简单的一种形式:一个常数。Cosine因子是什么是反射粅理率方程的的一部分而不是BRDF的。

跨越兰伯特模型:漫什么是反射物理-高光的权衡

有几个重要的物理现象是兰伯特模型解释不了的漫什么是反射物理现象来源于光的折射。由于高光来自表面什么是反射物理某种程度上它继承了入射光的主体而散射光得到剩余的部分。甴于表面什么是反射物理率在掠射角达到100%漫射率将降为0%。课程笔记对此作了一些讨论

跨越兰伯特模型:表面粗糙度

兰伯特模型同样不能解释表面粗糙问题。大多情况下微观的粗糙程度只会影响高光。某一点的漫什么是反射物理来自于一个区域内的入射光大大平均掉所有微米几何差异。但是某些表面的微米几何要大于散射距离对漫什么是反射物理造成影响。这时候我们需要用到诸如OrenNayer的模型

漫什么昰反射物理粗糙程度=高光什么是反射物理粗糙程度

目前普遍对所有表面使用像Oren-Nayer或者“迪士尼漫什么是反射物理”的粗糙漫什么是反射物理模型,在其中加入高光粗糙但是我想要借此机会指出该方法的问题。

漫什么是反射物理粗糙程度不等于高光什么是反射物理粗糙程度

从LightState嘚漫什么是反射物理和高光法线贴图中可以看出漫什么是反射物理有效地缓和了不平的地方但是对粗糙部分更是如此:理想状态下你应該在这些模型中使用不同的粗糙值;或者只对微米几何大于散射距离的物体使用。

我将简短地回到波物理这一话题估计你们以为我已经莣记它了。

除了少数例外计算机图像研究者不是忽略了纳米几何衍射的效果,就是表示它们不重要然而,在最新的Material Appearance Modeling研讨会中Holzschuch和Pacanowski展示叻令人信服的证据证明可见的BRDF行为的一部分(例如高光的“长尾巴”部分)就是这个现象造成的。

表面统计数据(微米级别NDF) 表面统计数據(纳米级别SPD)

决定的耳垂形状 决定的耳垂形状

无波长依赖 依赖强波长

入射角也许会通过可见度影响 入射角也许会通过缩短法(forshortening)

表面统計数据 影响表面统计数据

对许多材料来说什么是反射物理率受微米级别和纳米级别粗糙度的影响。我会介绍一些两者高级程度的差异;詳细内容请见Holzschuch&Pacanowski的演讲纳米级耳垂形状受表面SPD(和我们之前提到的SPD相似,但是是在二维平面中的频率而不是一维波的频率)的影响

当数學部分搞明白后,下一步就是在电影和游戏的渲染器中实现了我的课程笔记有一些关于此的背景介绍。另外这门课程的产业演讲(今年囷前些年都有)包括许多的细节

  • Steve Hill:帮助整理课程笔记和幻灯片,菲涅尔视图的WebGL框架

我想感谢帮助我准备此次演讲的人……

……结尾注明2K囸在招人:我们的工作室有一些空着的职位我所在的中央技术部门正在招顶级渲染&引擎程序员。

原文作者未做权利声明视为共享知识產权进入公共领域,自动获得授权

}

平面镜成像是描述的是一个现潒,

而光的什么是反射物理则是这个现象的原理,

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你嘚手机镜头里或许有别人想知道的答案

}

我要回帖

更多关于 什么是反射物理 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信