In real life, materials are often layered on top of one another. A surface may be covered with dust, water, ice, or snow; it may be painted with lacquer or some other coating for decorative or protective reasons; or it may have multiple layers as part of its basic construction, such as many biological materials.
在现实生活中,材料通常是一层层叠在一起的。表面可能被灰尘、水、冰或雪覆盖;出于装饰或保护的原因,它可能涂有漆或一些其他涂层;或者它可以具有多层作为其基本结构的一部分,例如许多生物材料。
One of the simplest and most visually significant cases of layering is a clear coat, which is a smooth transparent layer over a substrate of some different material. An example is a smooth coat of varnish over a rough wood surface. The Disney principled shading model [214] includes a clear-coat term, as do the Unreal Engine [1802], RenderMan’s PxrSurface material [732], and the shading models used by Dreamworks Animation [1937] and Imageworks [947], among others.
最简单也是视觉上最有意义的分层之一是透明涂层,它是覆盖在不同材料基底上的光滑透明层。一个例子是在粗糙的木头表面涂上一层光滑的清漆。迪士尼原则着色模型[214]包括一个透明涂层术语,如虚幻引擎[1802]、RenderMan的PxrSurface材质[732]以及梦工厂动画[1937]和Imageworks [947]使用的着色模型等。
The most notable visual result of a clear-coat layer is the double reflection resulting from light reflecting off both the clear-coat and the underlying substrate. This second reflection is most notable when the substrate is a metal, since then the difference between the indices of refraction of the dielectric clear coat and the substrate is largest. When the substrate is a dielectric, its index of refraction is close to that of the clear coat, causing the second reflection to be relatively weak. This effect is similar to underwater materials, shown in Table 9.4 on page 325.
透明涂层最显著的视觉效果是由光反射离开透明涂层和下面的基底而产生的双重反射。当基底是金属时,这种第二反射最显著,因为电介质透明涂层和基底的折射率之间的差异最大。当基底是电介质时,其折射率接近于透明涂层的折射率,导致第二次反射相对较弱。这种效果类似于水下材料,如325页的表9.4所示。
The clear-coat layer can also be tinted. From a physical point of view, this tinting is the result of absorption. The amount of absorbed light depends on the length of the path that light travels through the clear-coat layer, according to the Beer-Lambert law (Section 14.1.2). This path length depends on the angles of the view and light, as well as the index of refraction of the material. The simpler clear-coat implementations, such as those in the Disney principled model and the Unreal Engine, do not model this view-dependence. Others do, such as the implementations in PxrSurface and the Imageworks and Dreamworks shading models. The Imageworks model further allows for concatenating an arbitrary number of layers of different types.
透明涂层也可以着色。从物理角度来看,这种着色是吸收的结果。根据比尔-朗伯定律(第14.1.2节),吸收的光量取决于光穿过透明涂层的路径长度。该路径长度取决于视角和光线的角度,以及材料的折射率。更简单的透明涂层实现,如迪士尼原则性模型和虚幻引擎中的实现,没有对这种视图依赖性进行建模。其他的也有,比如PxrSurface中的实现以及Imageworks和Dreamworks的着色模型。Imageworks模型还允许连接任意数量的不同类型的层。
In the general case, different layers could have different surface normals. Some examples include rivulets of water running over flat pavement, a smooth sheet of ice on top of bumpy soil, or wrinkled plastic wrap covering a cardboard box. Most layered models used by the movie industry support separate normals per layer. This practice is not common in real-time applications, though the Unreal Engine’s clearcoat implementation supports it as an optional feature.
在一般情况下,不同的层可以有不同的表面法线。一些例子包括在平坦的路面上流淌的小溪流,在凹凸不平的土壤上的光滑的冰层,或者覆盖在纸板盒上的起皱的塑料包装。电影业使用的大多数分层模型都支持每层单独的法线。这种做法在实时应用程序中并不常见,尽管虚幻引擎的clearcoat实现支持它作为一个可选功能。
Weidlich and Wilkie [1862, 1863] propose a layered microfacet model, with the assumption that the layer thickness is small compared to the size of the microfacets.Their model supports an arbitrary number of layers, and tracks reflection and refraction events from the top layer down to the bottom and back up again. It is simple enough for real-time implementation [420, 573], but does not account for multiple reflections between layers. Jakob et al. [811, 812] present a comprehensive and accurate framework for simulating layered materials, including multiple reflections. Although not suitable for real-time implementation, the system is useful for ground-truth comparisons,and the ideas used may suggest future real-time techniques.
Weidlich和Wilkie [1862,1863]提出了一个分层微相模型,假设层厚度比微相的尺寸小。他们的模型支持任意数量的层,并从顶层到底层跟踪反射和折射事件,然后再返回。这对于实时实现来说足够简单[420,573],但是没有考虑层间的多次反射。Jakob等人[811,812]提出了一个模拟层状材料的全面而精确的框架,包括多次反射。虽然不适合实时实现,但该系统对于地面实况比较是有用的,并且所使用的想法可能暗示未来的实时技术。
The game Call of Duty: Infinite Warfare uses a layered material system [386] that is especially notable. It allows users to composite an arbitrary number of material layers. It supports refraction, scattering, and path-length-based absorption between layers, as well as different surface normals per layer. Combined with a highly efficient implementation, this system enables real-time materials of unprecedented complexity, particularly impressive for a game running at 60 Hz. See Figure 9.48.
《使命召唤:无限战争》这款游戏使用了一个分层材质系统[386],这一点尤其值得注意。它允许用户合成任意数量的材料层。它支持层之间的折射、散射和基于路径长度的吸收,以及每层不同的曲面法线。结合高效的实现,该系统支持空前复杂的实时素材,对于运行在60 Hz的游戏来说尤其令人印象深刻。参见图9.48。
Figure 9.48. Test surface showing various features of the Call of Duty: Infinite Warfare multilayer material system. The material simulates a geometrically complex surface with distortion and scattering, although each side is constructed from only two triangles. (Image courtesy of Activision Publishing, Inc. 2018.)
图9.48。测试表面显示了使命召唤:无限战争多层材料系统的各种功能。该材质模拟具有扭曲和散射的几何复杂曲面,尽管每条边仅由两个三角形构成。(图片由Activision Publishing,Inc. 2018提供。)