18 Advanced Topics in Rendering

1. Advanced Light Transport

无论样本数如何,蒙特卡罗方法的期望等于估计值,则是无偏的,否则是有偏的。当取样本数无穷多的时候,有偏的会收敛向期望。

1.1 Bidirectional Path Tracing(BDPT) 双向路径追踪 -- Unbiased

从光源与摄像机出发各自形成sub-path半路径,就会形成一个完整路径。

BDPT实现比较复杂,而且运行速度慢,但是有时效果很好。当光线传播从光源侧计算更容易时,效果更好。

1.2 Metropolips Light Transport(MLT) --Unbiased

在蒙特卡罗方法中,采样的pdf与被积函数形状一致时,效果最好。马尔科夫链可以根据当前样本生成一个与他靠近的下一个样本,可以生成以任意形状的函数为pdf的采样。用于替代在积分区域内均匀采样。

适合用于复杂光路,只要能够找到一些合适的光路就可以生成一系列光路。

  • 难以估计一个像素的收敛速度。
  • 所有操作都是局部的,像素之间没有关联,收敛速度不一,因此不知道整张图片的收敛速度,对于动画而言帧与帧之间收敛不一致,存在抖动。

1.3 Photo Mapping 光子映射 -- Biased

  • 适合用于caustics,即光达到一个物体上,其反射的光线聚焦形成图案。
  • 适合于SDS(specular-diffuse-specular)
  • 光子从光源发出,经过反射折射,直到打到diffuse便停止
  • 从摄像机发出半路径,经过反射折射,直到打到diffuse便停止
  • 计算local density estimation,找到着色点附近的N个光子,确定这些光子的占据面积,相应的到光子密度N/A。

  • 当N较小时,会有noisy
  • 当N较大时,会有blurry:这是因为只有覆盖面积足够小时,计算得到的密度值才更接近真实的密度概念,因此是biased有偏的。为此,打出更多的光子,就可以让面积更小,密度计算结果更正确。因此,光子数量越多,结果越是接近真实值,因此是Consistent一致的

1.4 Vertex Connection and Merging(VCM)

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

1.5 Instant Radiosity(IR) 实时辐射度

2. Advanced Appearance Modeling

2.1 Non-surface Model 非表面模型

2.1.2 Participating Media 散射介质

不是一个表面,光线可以进入一定的深度。

(1)吸收与散射

当光在行进中,穿过散射介质,会发生:

  • 吸收
  • 发光
  • 晶体散射出
  • 晶体散射入
(2) Phase Fuction 相位函数

决定光线如何散射,类似于BRDF:

(3) 渲染

2.2 Hair Appearance

2.2.1 Kajiya-Kay Model

光线打到圆柱上,会散射出一个漏斗形的圆锥(specular),同时又会向四面八方散射(diffuse)。

但是效果不好。

2.2.2 Marschner Model

除了被直接反射的部分R,还有一部分会经过两次折射穿透头发TT,此外还会穿透头发后经过一次反射再次折射出出去TRT

将头发描述为玻璃圆柱,内部有色素会吸收某些颜色。


光线与一根头发作用,叫做多次反射,之后会进行多次反射。计算量很多。

2.3 Fur Appearance

2.3.1 Hair vs Fur

头发模型不足以描述毛发模型。

毛发或者头发都有三层结构,但是动物毛发最中心部分的髓质很大,更容易发生散射。而在头发模型中这个部分是被忽略的,因此需要引入髓质。

2.3.2 Double Cylinder Model 双层圆柱模型


在头发模型上加入两个散射模型TTsTRTs

2.4 Granular Material 颗粒材质

一堆晶体组成的模型。

2.5 Translucent Material 半透明材质

2.5.1 Subsurface Scattering 次表面散射

光入射后在内部发生大量散射从其他方向出射。

次表面散射即在表面下部散射。

2.5.2 BSSRDF

因此次表面散射使得散射光会从不同于入社位置的其他地方出射,所以考虑一个位置的散射光不仅需要考虑从各个方向入射的光线,还需要考虑想着不同位置入社的光线,即面积积分。

2.5.3 Dipole Approximation

次表面散射可以近似为内外两个光源的散射结果。

2.5 Cloth 布料

布料是由纤维缠绕得到的,fiber纤维是最基础的,由纤维缠绕可以形成ply股,由股缠绕可以形成yarn线

布被制成一个平面,可以使用BEDF。

但是,类似于天鹅绒等,布是有体积的。可以将其转换成散射介质进行渲染,更加准确,但是计算量很大。

此外,可以按照头发的思路,渲染每一条纤维。同样的,计算量很大。

2.6 Detailed Appearance

渲染出来的过于完美就会显得不够真实,因为缺少细节。


在微表面模型中,法线分布一般是使用高斯分布等,因而缺少细节。因此可以在基本分布的基础上加入细节。

但是渲染时间很长,因为经过微表面反射后可能无法反射到相机或者光源上。

因此,考虑一个像素的覆盖范围,得到法线分布。

2.7 Procedual Appearance 程序化生成

Noise噪声函数定义在三维空间中,随用随取通过查询进行生成,不将其放在纹理中。比如生成地形、睡眠、纹理。

来源

[1]Games101. 闫令琪

posted @   ETHERovo  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示