渲染逼真的雪景 Rendering Realistic Snow

作者: Cameron L. Chrisman* University of California, San Diego

Rendering Realistic Snow | Semantic Scholar

1 摘要 Abstract

以前计算机图形学中对雪的绝大多数研究都是建立在相对高层次的几何描述上的。事实上,这并非没有道理,因为它是雪最显着的视觉特征,然而,大量的视觉线索来自雪的表面外观:它的密度、纯度、曲率和厚度。这些提示对于在计算机图形中真实地表示雪是必不可少的。我们简要概述了雪的物理光学,并研究了准确模拟雪的表面外观及其微平面几何形状(small scale geometry)的技术。

2 介绍 Introduction

用于渲染雪的物理精确技术在许多方面对计算机图形都很重要。最重要的是,雪是一种无处不在的材料。在北半球冬季,积雪可以覆盖全球 40% 以上的陆地 [Fearing 2000]。 我们在视觉上接触最多的材料反过来又是我们对视觉最敏感的材料。无处不在的材料,例如皮肤、头发、植物、动物、食品、水、云、冰和雪,都需要极其精确的模型才能具有逼真的逼真效果。此外,极端的冬季气候给电影制作带来了后勤困难,使此类场景的计算机生成成为一种有力的选择。

除了是一种非常常用的材料之外,雪的外观还属于颗粒状或多孔材料的一般类别,例如浮石、沙子、盐、面粉和砾石。目前用于模拟这些类型材料的大多数技术并不完全令人信服。作为推论,为雪的粒状/多孔表面外观建模提供良好的解决方案也有助于对更大类别的材料的外观进行建模。

在本文的第一部分,我们简要回顾了 70 年代初期雪光学研究的进展,并概述了雪的物理光学。在第二部分中,我们提出了一个将雪作为表面材料的参数化模型,以及实现该模型的暴力蒙特卡洛史实现(force Monte-Carlo)。

3 前置工作 Previous Work

尽管事实上,计算机图形界没有大量关于雪建模主题的已发表文章。

在渲染自然场景时,雪是一种很常见的材质。在已完成的工作中,主要关注点是雪的大尺度几何形状(large and small scale geometry)。 [Nishita et al. 1997] 使用小球(meta-balls)来描述雪的大尺寸和小尺寸几何形状。使用体积积分方法(volumetric integration approach),还考虑了雪中光的多次散射。然而,结果仍然无法令人信服。

体积积分方法本质上是昂贵的,特别是考虑到雪的高度散射特性。在他们的方法中,散射只计算到三阶。这是一个不好的近似值。由于其多孔性,雪的平均自由程大约为雪粒的大小,并且光在进入后再次离开材料之前会经历许多次散射[Kokhanovsky and Zege 2004]。

[Fearing 2000] 完全专注于使用迭代累积模型对雪的高级几何形状进行建模,这在提供一种将降雪层应用于静态场景的自动化方法方面非常有效。然而,所使用的着色模型仍然是简单的近似兰伯特的方法 (lambertian approximation)。为雪提供令人信服的表面外观模型可以极大地提高 Fearing 模型生成的场景的真实感,甚至可以提高所有未来雪几何模拟的真实度。

虽然计算机图形学界几乎没有对雪的光学特性进行大量研究,但物理光学界以及地球物理学和水文学界都对该主题进行了大量研究。 Bohren、Warren 和 Wiscombe 对这个主题进行了最重要的研究。

[Bohren and Barkstrom 1974] 建立了现代理论雪光学的基础。这是雪光学研究中最常被引用的论文之一,并且突出使用了辐射传输概念。 Bohren 巩固了散射光学在雪模型中的使用,提供了对散射反照率、不对称参数和雪的平均自由程的估计。这标志着之前进行的分析类型发生了重大变化。此前,绝大多数关于雪的光学特性的研究都是经验性的,研究人员提出的理论模型作为实证结果的推论,其中大部分本身并没有被普遍接受。正如 Bohren 所说,这是由于缺乏明确定义的实验参数。一位研究人员可能会关注与光谱反照率相关的积雪密度的影响,而另一位研究人员可能只考虑颗粒大小的变化,这两者都对准确模型有潜在贡献。 Bohren 通过建立一个相对通用的参数化模型来帮助纠正这种情况,验证相对于以前的文献是恒定的观察值,以及那些不稳定的观察值,需要进一步指定参数来验证,或者需要收集更多的实验数据(empirical data )。

为了响应雪光学理论模型的进步,一些研究人员开始填补 Bohren 和其他人留下的经验空白。 [Wiscombe and Warren 1980] 和 [Warren 1982] 提供了详细的经验数据,并提出了变体模型,其中考虑了一组广泛变化的参数,包括波长相关性、晶粒尺寸和形状、照明条件、纯度、密度、湿度,以及使用 Mie 理论(Mie theory)与几何光学。此外,在他之前的论文的基础上,[Bohren 1983] 更详细地讨论了雪的吸收特性。

4 雪地光学 Snow Optics

3.1 冰和雪的结构化性质 Structural Properties of Ice and Snow#

在这里,我们简要概述了雪的光学特性,以及一些视觉上可观察到的结果。要全面了解雪的光学特性,必须了解雪的基本结构组成。雪由相对松散的冰晶组成,仅占总空间体积的 5%。结晶冰的结构是典型的六边形,但雪中冰晶的形状通常大不相同。其原因是雪不是由表面自发形成的冰产生的,而是由雪花的不断积累产生的。

在高层大气中形成的冰晶确实是六边形的,并且非常像棱镜一样折射光线(这是许多光学效应的原因,例如光晕),但是冰晶的结构在它们穿过大气层时发生了巨大的变化。作为六边形,冰晶形成小平面。这些小平面在分子上是光滑的,因此水分子往往会在小平面边缘积聚,并以与小平面对称的倾斜角向外生长。反过来,这些增长包含新的方面。这个过程反复发生并产生通常与雪花相关的分形图案。当这些薄片撞击地面时,它们在热力学上是不稳定的。为了达到平衡状态,即最小化自由表面能与体积的比率(minimizing the ratio of free surface energy to volume),它们会聚成球形颗粒。这种晶体结构与许多材料不同,雪花是单个冰晶,而不是小而稳定的晶体的有序集合。结果,雪花减少为一个或有时几个耦合的球形颗粒,每个颗粒都是无结晶亚结构( no crystalline substructure)。

3.2 冰和雪的光学特性 Optical Characteristics of Ice and Snow#

首先,让我们定义一些符号。 散射特性:

  • σs 散射系数 scattering coefficient

  • σa 吸收系数 absorption coefficient

  • σt 消光系数extinction coefficient

  • p(θ)

    相位函数,给定光子入射角的出射散射方向

    phase function, outgoing scattering direction given incoming angle of a photon

  • g

    不对称参数,相位函数的余弦加权平均值

    asymmetry parameter, the cosine weighted mean of the phase function

  • l0=σt1

    平均自由程,光子在散射事件之前行进的平均距离

    mean free path, the average distance a photon travels before a scattering event

  • as=σsσt

    单次散射反射率,光子在经历散射事件时散射而不是吸收的概率

    single scattering albedo, the probability a photon will scatter rather than absorb while undergoing a scattering event

  • α

    光谱反射率,给定点的传入和传出通量之比。

    spectral albedo, the ratio of incoming and outgoing flux at a given point.

结构特性

  • ρ 密度 density

  • η=1.32 折射率 index of refraction

  • r 晶粒尺寸(半径) grain size (radius)

  • G 颗粒形状 grain shape

  • W 湿度,液态水与冰的体积比 wetness, the volume ratio of liquid water to ice

  • P

    纯度系数,存在的异物与纯水或冰的体积比

    purity coefficient, the volume ratio of foreign material present to pure water or ice

这些属性是定义完善的雪辐射传输模型的必要组成部分。出于本文的目的,与光学文献中的介绍相比,许多参数都得到了简化。其中最突出的是波长依赖性。诸如折射率、相位函数和散射/吸收系数之类的属性通常都与波长有关,但其中大多数在可见光范围内接近恒定,可以忽略不计。对此的例外是吸收系数,在可见光谱中相对于波长的差异仍然相当小,但这种差异随着散射事件的数量累积,我们将看到非常大。

这些参数涵盖了各种研究模型中使用的大部分参数。我们不会展示所有这些公式,但我们将讨论一些更重要的公式,以及一些常见的关系和参数的减少。

[Bohren and Barkstrom 1974] 为许多对于雪来说相当恒定的参数建立了相当准确的值。大多数这些值基于介电球的分析计算(analytic calculations of dielectric spheres)。他取相位函数(phase function)为

p(θ)=T2η2[ncos(Θ/2)1][ηcos(Θ/2)T¯2cos(Θ/2)[η2+12ηcos(Θ/2)]

其中T2=T12+Tr22T¯2=22π/2dθisinθicosθiT2(θi),其中Tl,Tr 为菲涅耳透射系数。这很重要,因为 Bohren 无视主要和次要的反射,将相位函数纯粹归因于传输。

因此,该相位函数的不对称参数为 g = 0.874。这仍然是一种非常前向散射的材料,但与其他高散射材料(例如皮肤)相比,它表现出相当大的各向同性(isotropy)。

[Kokhanovsky and Zege 2004] 给出了雪的固有散射系数的更具体值,取 as=0.995,并且还有助于确认 Bohren 的假设的有效性,即在单个球体基础上的建模属性是准确的,通过显示平均自由程 l0r,以及检查 g=0.874相位函数对积雪背景下单个球体的影响。

还观察到模拟雪的湿度的有效方法是增加粒度。这具有增加平均自由程长度的效果,因此在给定一定厚度水平的情况下,使光穿过雪并进入下层材料的可能性更大。实际上,湿雪通过使颗粒之间的大部分空气间隙充满水来实现这一点,从而最大限度地减少介质变化的影响。

4 Our Method 我们的方法#

4.1 参数模型 Parameterized Model

现在让我们介绍一个实际使用的参数化模型。该模型采用与 [Bohren and Barkstrom 1974] 并将冰建模为介电球体(dielectric spheres)的集合。虽然这项技术并非没有限制,但它为模拟雪的光学特性以用于计算机图形学提供了充分的第一步。 当常用模型(朗伯散射(lambertian scattering)或简单多重散射)都无法产生准确的表示时,尤其如此。除此之外,Bohren 模型为接下来的大部分辐射传递工作奠定了基础,并且今天仍然经常使用,尽管这样做的一个重要原因是球体的 Mie 散射计算很简单。即使模型考虑了非球面几何的影响,也经常将其简化为特定配置的球体集合。 [Kokhanovsky 和 Zege 2004]。

模型参数概述如下:

  • n 总雪粒数 number of total snow particles
  • ρ 密度 density
  • η 折射率 index of refraction
  • r 晶粒尺寸(半径) grain size (radius)
  • rσ 晶粒变异 grain variation

我们采用暴力蒙特卡罗模拟方法来渲染雪。雪被建模为一组堆积的电介质球体。这些球体中的每一个都代表一粒雪,半径为 r.1mm10mm,尽管夸大此参数会导致一些有趣的结果。晶粒变化rσ 代表晶粒的均匀性,范围可以从 0 到 r。

使用来自眼睛的蒙特卡罗光线追踪渲染图像。从概念上讲,光从雪到达我们眼睛的方式是来自太阳或其他强大光源的光撞击雪面,然后散射(可能很多次),然后被吸收或射回,可能到达您的眼睛。眼睛。我们反向建模这个过程。光线在抖动的像素位置从眼睛射出,当它们撞击雪球时,我们使用概率采样来确定光线在界面处是反射还是折射。这是通过计算给定角度的菲涅耳反射和透射系数 Kt 和 来Kr完成的。 由于 Kt+Kr=1,我们可以将它们视为一个区间。我们选择一个均匀采样的随机数 R[0...1] 并且如果 R[0Kt) 则传输,如果R[Kt1] 则反射。这样做的主要优点是射线数量没有组合爆炸,并且是一般模拟中常用的技术,如果是电介质(dielectrics)。

光线沿着复杂的路径穿过堆积的球体,在我们的模型中,经过四个最终事件以产生所需的阴影。一个事件是光线击中可能被雪覆盖的漫反射对象,漫反射对象的阴影在其中返回。另一种可能性是光线离开雪材料,而不是沿其路径的漫射对象。 在这里,光线可以击中光源,也可以不击中光源。在我们的模型中,光源被建模为无限距离的漫射半球。这可以通过在光线离开材料后简单地取其 y 分量的符号来有效地模拟。如果光线击中光,它得到的贡献等于光源的瓦数,如果没有,它就没有贡献。这两个组件构成了大部分的阴影,尽管当积雪很轻时可以看到下面的材料,并且颜色渗色效果通常是可见的。 根据需要,该模型还包含一个累积步骤的参数,即粒子总数 n。没有一些高级几何背景的雪很难辨别,因为进入雪的大部分光线都会离开它,结果通常是非常均匀的强度,前提是采集了足够数量的样本。为完整性起见,我们的结果中包含了一个统一的填充球体立方体,它是衡量蒙特卡罗模拟收敛性的有用工具 。

然而,从经验上讲,需要一个简单的累积模型来为表面外观提供高级几何背景,并且事实上,事实证明,会产生更逼真的球体堆积。

4.2 Accumulation Model 累积模型#

所使用的累积模型不是 [Fearing 2000] 中所见的基于物理的雪演化模拟,而被选择仅用于生成具有所需属性的球体,并为被雪覆盖的物体提供一些合理的几何背景。开发累积模型所采用的方法侧重于实现的速度和易用性,因为它仅用于展示高级表面外观建模。然而,这种朴素的累积模型的结果出奇地好。由于雪在光学上被建模为球体,因此我们以相同的物理方式对其进行建模。

首先计算要覆盖的场景的边界框。光线位置在这个盒子的顶平面上随机生成,方向完全向下。然后投射光线,并对命中位置进行编目。一个球体被添加到场景中,随机半径为 r,在粒度和变化参数范围内,中心偏移 r 沿其法线从命中位置。这会产生相当好的堆积,球体之间的重叠数量相对较少。此外,如果命中法线足够接近垂直(即陡峭的悬崖),则丢弃该粒子。

在此过程中还应该提到提高效率的必要性。所使用的加速结构是一个 2 级分层网格(2-level
hierarchical grid),这对于这种类型的向下光线投射被证明是非常快的。然而,缺点是对于加速结构是不自适应的。也就是说,为了使其快速准确,必须在添加每个对象后重新构建。测试了多种策略以帮助减少这种开销。最终使用的是一个简单的累积球体的“缓冲区”(buffer)。它由一个朴素(naive)的 n2 交叉测试列表(intersection test list)组成,新的球体被添加到其中。当这个结构的大小达到某个最佳阈值时(对于大多数测试,它是≈ 4000),它的内容被删除并添加到网格中,然后重建。这证明工作得相当好,但可以想象使用自适应数据加速结构可以显着减少运行时间。

5 结果

这个模型的结果看起来很像真正的雪。我们的模拟技术的蛮力性质既可以捕捉下雪的小规模几何形状,也可以准确模拟地表或地表下方的光传输。我们展示了雪的 1203 体积元素的结果,以及经历了积雪的红色漫射球体和茶壶。不会显示所有测试的参数化(并且实际上由于计算限制没有进行完整的参数扫描),但是改变晶粒尺寸、折射率和粒子数都会产生与外观一致的直观结果不同类型的雪。

图 3 说明了在不同采样率下使用填充电介质球对雪进行的暴力蒙特卡罗模拟。在此配置中,每个球体的大小均一并且尽可能紧密地堆积。可以看到,最亮的区域出现在最近的顶部边缘,这里的介质相对于视角而言具有最厚的光学厚度。

图1:使用大量≈1203个填充电介质球体的蒙特卡罗模拟,使用1个,每个像素采样

图2:使用大量≈1203个填充电介质球的蒙特卡罗模拟,每个像素使用10个样本

图3:Monte-Carlo模拟使用大量≈1203个填充电介质球,每个像素使用100个样本

图4:在薄厚的积雪覆盖下的雪球的Monte-Carlo模拟

图5:厚雪覆盖下雪茶壶的蒙特卡罗模拟

6 结论和未来工作 Conclusions & Future Work

虽然这个模型代表了对雪进行物理精确渲染的有希望的第一步,并且确实可以实际使用,但它有一些局限性。最明显的限制是处理和内存开销。即使对于小场景,内存开销也可能在100-500MB左右。处理能力要求不太受关注,因为高效的加速结构可以很好地剔除不必要的交叉点,而且模型对噪声的容忍度相当高,这与使用Monte-Carlo techniques模拟的其他散射现象不同。另一个主要限制是光照模型被隐式固定为完全漫射的半球天窗。虽然这实际上是云层下室外光照的合理近似,这是一个非常常见的场景,现在可以建模,但这种技术的吸引力在于它能够对高度详细的场景或“特写镜头”进行建模,其中局部照明通常起着至关重要的作用。

如上所述,该模型旨在作为一个起点,许多限制导致了大量潜在的未来工作。首要任务是生成一个高效的雪外观模型,但不会失去小尺度细节的影响,或本模型提供的光传输精度。如上所述,未来模型的第二个目标是处理任意光照条件。

第三个,也是外观模型中一个不幸被忽视的特性,是可扩展性。大多数材料本质上在近距离观察时看起来大不相同,一个好的外观模型应该反映这一点。斯诺是这种现象的典型例子,事实上,本文旨在解决这一差距。然而,跨越两个细节层次的桥梁对于生成具有易处理效率的准确模型是必要的。可扩展外观模型的一般进步对研究界和行业来说都是一个巨大的福音。

未来工作的另一个组成部分是将高级累积模型与小尺度表面细节分离。由于发现累积模型不仅通过提供合理的几何形状大大提高了真实性,而且还被证明是产生球体填充所需属性的好方法。当然,我们的方法对于大场景是不可行的,但它是可以想象的混合方法可以使用像[Fearing2000]中的技术以及在详细级别基础上提出的技术。

应该解决的未来工作的最后一个组成部分是雪中色调映射的特殊需求。虽然本文给出的结果是合理的,但它们有些“简单”,因为它们没有通常与雪相关的闪光和亮点。尽管这些亮点通常是重新冻结和雪变态的其他人工产物的结果,并且在新鲜的纯雪上很少可见,但它们仍然是一个显着的特征。模拟中的问题是这些闪光必须比雪更亮,雪已经是最亮的天然物质之一。闪光实际上更亮,因为它们通常是阳光的直接反射,因此不会在漫射照明下发生。那么可能有必要对雪的闪光映射进行特殊需要,以便产生与我们的视觉系统的响应一致的图像。

我们已经概述了雪的光学特性,从中我们提出了雪的外观模型的一般参数化模型,再加上一个简单的累加模型。我们已经提出了一种基于蒙特卡罗的技术来实现参数化模型,该技术对于现代硬件上的小场景来说是易于处理的(如果不是很快的话),并且生成的雪景图像的真实度超过了以前的方法。

参考 References#

BOHREN, C. F., AND BARKSTROM, B. R. 1974. Theory of the optical properties of snow.

JournalofGeophysicalResearch 79, 30 (October), 45271534. BOHREN, C. F. 1983. Colors of snow, frozen warterfalls, and icebergs. Journal of the Optical Society of America 73, 12 (De­cember), 1646-1652.

FEARING, P. 2000. Computer modelling of fallen snow. In Siggraph 2000, Computer Graphics Proceedings, ACM Press / ACM SIGGRAPH / Addison Wesley Longman, K. Akeley, Ed., 37-46.

JENSEN, H. W., AND BUHLER, J. 2002. A rapid hierarchical rendering technique for translucent materials. In Proceedings of SIGGRAPH 2001.

JENSEN, H. W., MARSCHNER, S. R., LEVOY, M., AND HANRA­HAN, P. 2001.

A practical model for subsurface light transport. In Proceedings of SIGGRAPH 2001, 511-518.

KOKHANOVSKY, A. A., AND ZEGE, E. P. 2004. Scattering optics of snow. Applied Optics 43, 7 (March), 1589-1602.

相关链接#

download (psu.edu) pdf

Rendering Realistic Snow | Semantic Scholar

posted @   straywriter  阅读(860)  评论(2编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示
主题色彩