Cloth tends to have microgeometry that is different from other types of materials. Depending on the fabric type, it may have highly repetitive woven microstructures, cylinders (threads) protruding vertically from the surface, or both. As a result, cloth surfaces have characteristic appearances that typically require specialized shading models, such as anisotropic specular highlights, asperity scattering [919] (bright edge effects caused by light scattering through protruding, translucent fibers), and even color shifts with view direction (caused by threads of different colors running through the fabric).
布料往往具有不同于其他类型材料的微观几何形状。根据织物类型,它可能具有高度重复的编织微结构、从表面垂直突出的圆柱体(线),或者两者兼有。因此,布料表面具有典型地需要专门的着色模型的特征外观,例如各向异性镜面高光、粗糙散射[919](通过突出的半透明纤维的光散射引起的亮边效果),甚至随观察方向的颜色偏移(由穿过织物的不同颜色的线引起)。
Aside from the BRDF, most fabrics have high-frequency spatial variation that is also key to creating a convincing cloth appearance [825]. See Figure 9.42.
除了BRDF之外,大多数织物具有高频空间变化,这也是创造令人信服的布料外观的关键[825]。见图9.42。
Figure 9.42. A material using the cloth system built for the game Uncharted 4. The upper left sphere has a standard BRDF with a GGX microfacet specular and Lambertian diffuse. The upper middle sphere uses the fabric BRDF. Each of the other spheres adds a different type of per-pixel variation, going from left to right and top to bottom: fabric weave details, fabric aging, imperfection details, and small wrinkles. (UNCHARTED 4 A Thief ’s End c /TM 2016 SIE. Created & developed by Naughty Dog LLC.)
图9.42。使用为游戏《神秘海域4》构建的布料系统的材质。左上方的球体有一个标准的BRDF,带有GGX微面镜面反射和朗伯漫反射。中上球体使用BRDF织物。其他每个领域都添加了不同类型的每像素变化,从左到右,从上到下:织物编织细节,织物老化,瑕疵细节和小褶皱。(《神秘海域4:小偷的末日》c /TM 2016 SIE。由顽皮狗有限责任公司创建和开发。)
Cloth BRDF models fall into three main categories: empirical models created from observation, models based on microfacet theory, and micro-cylinder models. We will go over some notable examples from each category.
布BRDF模型分为三个主要类别:根据观察创建的经验模型、基于微表面理论的模型和微圆柱体模型。我们将从每个类别中寻找一些值得注意的例子。
9.10.1 Empirical Cloth Models经验布料模型
In the game Uncharted 2 [631], cloth surfaces use the following diffuse BRDF term:
在游戏《神秘海域2 》[ 631]中,布料表面使用了以下漫射BRDF术语:
where krim, kinner, and kdiff are user-controlled scaling factors for a rim lighting term, a term to brighten forward-facing (inner) surfaces, and a Lambertian term, respectively. Also, αrim and αinner control the falloff of the rim and inner terms. This behavior is non-physical, since there are several view-dependent effects but none that depend on the light direction.
其中krim、kinner和kdiff分别是边缘照明项、照亮前向(内)表面的项和朗伯项的用户控制的比例因子。此外,αrim和αinner控制rim和inner项的衰减。这种行为是非物理的,因为有几个视图相关的效果,但没有一个取决于灯光方向。
In contrast, the cloth in Uncharted 4 [825] uses either a microfacet or micro-cylinder model, depending on cloth type (as detailed in the following two sections) for the specular term and a “wrap lighting” empirical subsurface scattering approximation for the diffuse term:
相比之下,Uncharted 4 [825]中的布料使用微曲面或微圆柱模型,这取决于镜面反射项的布料类型(如以下两节中详述的),以及漫射项的“包裹照明”经验次表面散射近似:
Here we use the notation introduced in Section 1.2, which indicates a clamp between 0 and 1. The odd notation fdiff(l, v)(n · l)+ ⇒ . . . indicates that this model affects the lighting as well as the BRDF. The term on the right side of the arrow replaces the term on the left side. The user-specified parameter cscatter is a scattering color, and the value w, with range [0, 1], controls the wrap lighting width.
这里我们使用1.2节中介绍的符号,它表示0和1之间的箝位。奇数符号fdiff(l, v)(n · l)+ ⇒ . . .表示此模型会影响照明和BRDF。箭头右侧的术语替换了左侧的术语。用户指定的参数cscatter是一种散射颜色,范围为[0,1]的值w控制包裹照明宽度。
For modeling cloth, Disney use their diffuse BRDF term [214] (Section 9.9.4) with a sheen term added to model asperity scattering:
对于布料建模,迪士尼使用了他们的漫射BRDF项[214](第9.9.4节),并在粗糙散射建模中添加了光泽项:
where ksheen is a user parameter that modulates the strength of the sheen term. The sheen color csheen is a blend (controlled by another user parameter) between white and the luminance-normalized value of ρss. In other words, ρss is divided by its luminance to isolate its hue and saturation.
其中,ksheen是调节光泽项强度的用户参数。光泽颜色是白色和ρss的亮度标准化值之间的混合(由另一个用户参数控制)。换句话说,ρss除以其亮度,以分离其色调和饱和度。
9.10.2 Microfacet Cloth Models 微型织物模型
Ashikhmin et al. [78] proposed using an inverted Gaussian NDF to model velvet. This NDF was slightly modified in subsequent work [81], which also proposed a variant form of the microfacet BRDF for modeling materials in general, with no masking-shadowing term and a modified denominator.
Ashikhmin等人[78]提出使用逆高斯NDF来模拟天鹅绒。该NDF在随后的工作[81]中略有修改,该工作还提出了一种用于建模一般材料的微界面BRDF的变体形式,没有掩蔽-阴影项,并且修改了分母。
The cloth BRDF used in the game The Order: 1886 [1266] combines the modified microfacet BRDF and a generalized form of the velvet NDF from Ashikhmin and Premoˇze’s later report [81] with the diffuse term from Equation 9.63. The generalized velvet NDF is
游戏Order: 1886 [1266]中使用的布BRDF结合了来自Ashikhmin和premoˉze后来的报告[81]的修改的微法BRDF和天鹅绒NDF的广义形式,以及来自方程9.63的扩散项。广义天鹅绒NDF是
where α controls the width of the inverted Gaussian and kamp controls its amplitude.The full cloth BRDF is
其中α控制反转高斯的宽度,kamp控制其幅度。全布BRDF是
A variation of this BRDF was used in the game Uncharted 4 [825] for rough fabrics such as wool and cotton.
这种BRDF的一种变体在游戏《神秘海域4 》[ 825]中被用于羊毛和棉花等粗糙织物。
Imageworks [947] use a different inverted NDF for a sheen term that can be added to any BRDF:
Imageworks [947]使用不同的反向NDF作为可添加到任何BRDF中的光泽项:
Although there is no closed-form solution to the Smith masking-shadowing function for this NDF, Imageworks were able to approximate the numerical solution with an analytical function. Details on the masking-shadowing function and on energy conservation between the sheen term and the rest of the BRDF are discussed by Estevez and Kulla [442]. See Figure 9.43 for some examples rendered using the Imageworks sheen term.
尽管这种NDF的Smith掩蔽-遮蔽函数没有封闭形式的解,但Imageworks能够用分析函数来近似数值解。Estevez和Kulla [442]讨论了掩蔽-遮蔽函数和sheen项与BRDF其余部分之间的能量守恒的细节。有关使用Imageworks光泽术语渲染的示例,请参见图9.43。
Figure 9.43. The Imageworks sheen specular term added to a red diffuse term. From left to right, the sheen roughness values are α = 0.15, 0.25, 0.40, 0.65, and 1.0. (Figure courtesy of Alex Conty [442].)
图9.43。添加到红色漫射项的Imageworks光泽镜面反射项。从左到右,光泽粗糙度值为α = 0.15、0.25、0.40、0.65和1.0。(图由Alex county[442]提供)。)
Each of the cloth models we have seen so far are limited to specific types of fabric.The models discussed in the next section attempt to model cloth in a more general way.
到目前为止,我们看到的每种布料模型都仅限于特定类型的面料。下一节讨论的模型试图用一种更通用的方式来模拟布料。
9.10.3 Micro-Cylinder Cloth Models微型圆筒布料模型
The micro-cylinder models used for cloth are quite similar to those used for hair, so the discussion of hair models in Section 14.7.2 can provide additional context. The idea behind these models is that the surface is assumed to be covered with one-dimensional lines. Kajiya and Kay developed a simple BRDF model for this case [847], which was given a solid theoretical foundation by Banks [98]. It is alternately known as the Kajiya-Kay BRDF or the Banks BRDF. The concept is based on the observation that a surface composed of one-dimensional lines has an infinite number of normals at any given location, defined by the normal plane perpendicular to the tangent vector t at that location. Although many newer micro-cylinder models have been developed from this framework, the original Kajiya-Kay model still sees some use, due to its simplicity. For example, in the game Uncharted 4 [825], the Kajiya-Kay BRDF was used for the specular term of shiny fabrics such as silk and velvet.
用于布料的微圆柱体模型与用于头发的微圆柱体模型非常相似,因此14.7.2节中对头发模型的讨论可以提供额外的上下文。这些模型背后的思想是假设表面被一维线覆盖。Kajiya和Kay针对这种情况[847]开发了一个简单的BRDF模型,Banks [98]给出了坚实的理论基础。它也被称为Kajiya-Kay BRDF或Banks BRDF。该概念基于这样的观察,即由一维线组成的表面在任何给定位置具有无限数量的法线,由垂直于该位置的切向量t的法线平面定义。尽管许多更新的微圆柱体模型已经从这个框架中开发出来,但是最初的Kajiya-Kay模型由于其简单性仍然有一些用处。例如,在游戏《神秘海域4》[825]中,Kajiya-Kay BRDF被用于丝绸和天鹅绒等闪亮织物的镜面术语。
Dreamworks [348, 1937] use a relatively simple and artist-controllable microcylinder model for fabric. Textures can be used to vary the roughness, color, and thread direction, which can point out of the surface plane for modeling velvet and similar fabrics. Different parameters can be set for the warp and weft threads to model complex color-changing fabrics, such as shot silk. The model is normalized to be energy-conserving.
梦工厂[348,1937]使用了一个相对简单和艺术家可控的织物微型圆柱模型。纹理可用于改变粗糙度、颜色和线方向,这可以指出建模天鹅绒和类似织物的表面平面。可以为经线和纬线设置不同的参数,以模拟复杂的变色织物,如短丝。该模型被归一化为能量守恒的。
Sadeghi et al. [1526] proposed a micro-cylinder model based on measurements from fabric samples as well as individual threads. The model also accounts for inter-thread masking and shadowing between threads.
萨德吉等人【1526】提出了一个基于织物样本和单根纱线测量的微型圆柱体模型。该模型还考虑了线程间的屏蔽和线程间的阴影。
In some cases actual hair BSDF models (Section 14.7) are used for cloth. Render- Man’s PxrSurface material [732] has a “fuzz” lobe that uses the R term from the hair model by Marschner et al. [1128] (Section 14.7). One of the models implemented in a real-time cloth rendering system by Wu and Yuksel [1924, 1926] is derived from a hair model used by Disney for animated films [1525].
在某些情况下,实际的头发BSDF模型(第14.7节)用于布料。Render- Man的PxrSurface材质[732]有一个“模糊”波瓣,使用了Marschner等人[1128](第14.7节)的头发模型中的R术语。其中一个由Wu和Yuksel [1924,1926]在实时布料渲染系统中实现的模型来自迪士尼用于动画电影的头发模型[1525]。