games101 材质与外观

材质

材质就是BRDF,BRDF定义了光线与物体如何交互,从而不同的材质产生了不同的视觉效果

  • BRDF的R指的是反射(Reflection),但折射显然不是反射。
  • BTDF的T指的是折射(Transmitte)。
  • BRDF和BTDF统称为BSDF,这里的S指的是散射(Scatter)。

Diffuse / Lambertian Material(BRDF) 漫反射

首先认为现在在研究的这个漫反射材质是均匀的,这也意味着:

  • 假设入射光是各个方向均匀射向这个着色点的,并且每一个入射光的光强都是相同的;

  • 同时在着色点上,光是均匀地被反射到每个方向;

  • 着色点本身既不发光,也不吸收光。

在这里插入图片描述

我们可以定义一个名为反射率这么一个该概念,英文名为albedo(color),albedo可以是单通道的一个数,也可以是三个数RGB,我们定义他的范围在[0,1]区间内,引入不同颜色BRDF,所以这个BRDF的值就是fr,范围为[0, 1 / pi]

镜面折射(Specular Refraction)

Snell’s Law

在这里插入图片描述

如果结果不是一个实数,则说明折射不会发生,也就是入射的介质的折射率大于折射的介质的折射率,这种情况就可能出现没有折射这种现象,这种现象也成为全反射现象。

Snell’s Window

在这里插入图片描述

当人从水里外天空看的时候,只能看到一个锥形的范围,锥形范围之外的都看不见,就是因为发生了全反射现象

Fresnel Reflection / Term(菲涅尔项)

光线照射到物体表面后,一部分发生折射,一部分发生反射。那么发生反射部分的比例是多少,可以用菲涅尔项来描述。

  • 如果一根入射光线和物体表面几乎平行,就认为大量能量会被反射。上图中光线与法线角度成90度就是表示光线与物体表面平行。
  • 如果入射光线和物体表面垂直,就会有更多能量会穿过物体,发生折射,反射的能量就会比较少。

在这里插入图片描述

简化的计算公式

R ( θ ) = R 0 + ( 1 − R 0 ) ( 1 − c o s θ ) 5 R(\theta) = R_0 + (1-R_0)(1-cos\theta)^5 Rθ=R0+(1R0)(1cosθ)5

R 0 = ( n 1 − n 2 n 1 + n 2 ) R_0 = \left( \frac{n_1-n_2}{n_1+n_2} \right) R0=(n1+n2n1n2)

微表面材质(Microfacet BRDF)

几何表面的凹凸变化在远处看来就是材质,关键是微表面法线的分布:

在这里插入图片描述

第一个材质的法线朝向都大致朝上,所以是glossy材质

第二个的法线朝向差异明显,属于漫反射材质

在这里插入图片描述

只有半程向量与法线方向附近,微表面才会反射

  • F:菲涅尔项,根据入射方向、半程向量得到反射比例。
  • G: 几何项, 反射的过程中,有一部分的光被自身几何结构遮挡了,有多少比例的反射光没有被遮挡。光几乎是平行着物体表面,打到这个物体表面上时容易发生这种自投影(自遮挡)的现象
  • D:法线分布函数,在所有的分布里,有多少比例的微平面的法线方向沿着半程向量。

各向同性和各向异性Isotropic / Anisotropic Materials(BRDFs)

在这里插入图片描述

在方位角上旋转,得到的不是相同的BRDF,就将其成为各向异性(Anisotropic)的材质。

就是在一个平面上有一对入射角和出射角,可知他们的半程向量是垂直于平面的,这时半程向量的方向不动,旋转这对角,这时他们相对的位置没有变化。

BRDFS的性质

  1. BRDF的值非负
    f r ( w i → w r ) > 0 f_r(w_i → w_r) > 0 fr(wiwr)>0

  2. 可以拆分计算

在这里插入图片描述

  1. 可逆性

在这里插入图片描述

  1. 能量守恒

在这里插入图片描述

基于图像的 BRDF 测量

确定一个相机,确定一个光源。使用光源从四面八方照射物体,再用相机从四面八方取拍它,这样就可以覆盖BRDF的所有可能的输入方向和输出方向

提升效率:

  • 同向异性表面将维度从 4D 降低到 3D
  • 考虑到可逆性,又可以将测量次数砍掉一半

渲染高级话题

无偏路径追踪

无偏蒙特卡洛技术拿到的期望值,都是对的,不管采样多少次

双向光线追踪(BDPT)

很难实现,并且很慢,适用于光线传播很复杂

在这里插入图片描述

Metropolis光线传播

适用于复杂的、困难的光路传播,可以通过扰动产生一条新路径

但是所有操作都是局部的,各个像素收敛不同,结果会很脏

有偏路径追踪

光子映射(Photon Mapping)

适用于高光反射和生成聚焦

步骤:

  1. 从光源发射光子,直到打在漫反射表面
  2. 从相机发射光子,直到打在漫反射表面
  3. 计算局部密度评估

为什么光子映射有偏?

我们计算
d N / d A ! = Δ N / Δ A dN / dA != \Delta N / \Delta A dN/dA!=ΔN/ΔA
如果光子打出无限多,那么结果与正确结果无限接近

VCM

双向路线追踪和光子映射结合

在这里插入图片描述

当BDPT的路径在一个局部面上时,尽管他们没有相交但仍然可以把他们当作光子而不是光路,以此来做光子映射

实时辐射度Instant raduisity

已经被辐射的地方也当作光源

在这里插入图片描述

Advance Appearnce Modeling(复杂表面建模)

非表面模型

散射介质

光在其中传播时可能被吸收或者是散射——随机改变方向和距离,产生新的路径。除了云雾、烟尘等是散射介质外,一些材质吸收光线比较明显但也有一部分散射,比如巧克力、皮肤等

在这里插入图片描述

毛发模拟
发丝高光

光线不仅可以与头发表面互动,还可以穿过发丝从下表面出去,由于折射了两次,称之为TT。而在下内壁上还能发生反射,重新从上表面折射出,称之为TRT

在这里插入图片描述

动物毛发

人物毛发模型不足以描绘动物模型,因为动物毛发更容易发生散射(因为动物毛发内部髓质占比很大,头发颜色主要是由髓质决定的)

因此我们采用双重圆柱模型,因为在经过髓质时同样也会发生折射、反射,因此多了两种情况(TTs,TRTs)

在这里插入图片描述

Granular Material(颗粒材质)

由于计算量特别大,很少采用

在这里插入图片描述

表面材质

次表面反射(Scattering Function)

对BRDF的延伸——BSSRDF

从一个点进来,不仅能从任意方向出去,还能从不同点出去,更改后的渲染方程如图所示

在这里插入图片描述

这种方法可以用于透光材质,大理石、玉石、皮肤等

布料

布料本质上是多根相互缠绕的纤维,而且还有纺织手法的区别,计算量很大。

主要有三种渲染方法:

  1. 作为表面渲染:BRDF
  2. 作为散射介质渲染(计算量大)
  3. 渲染每个纤维(渲染每根纤维,计算量特别大)
微表面渲染

自然界中的物体表面并不是完全光滑的,而是有划痕、凹坑。为了更真实的渲染,我们可以采用为表卖弄渲染。

但由于表面变化太过细微,很难找到光源到着色点到相机、或者相机到着色点到光源的路径

在这里插入图片描述

ps:宏观的现象一定是由微观决定的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值