Real-Time Rendering——9.5.2 Typical Fresnel Reflectance Values典型的菲涅耳反射率值

Substances are divided into three main groups with respect to their optical properties.There are dielectrics, which are insulators; metals, which are conductors; and semiconductors, which have properties somewhere in between dielectrics and metals.

根据物质的光学性质,它们被分为三大类。有电介质,是绝缘体;金属,它们是导体;和半导体,其性质介于电介质和金属之间。

Fresnel Reflectance Values for Dielectrics

电介质的菲涅耳反射值

Most materials encountered in daily life are dielectrics—glass, skin, wood, hair, leather, plastic, stone, and concrete, to name a few. Water is also a dielectric. This last may be surprising,since in daily life water is known to conduct electricity, but this conductivity is due to various impurities. Dielectrics have fairly low values for F0—usually 0.06 or lower. This low reflectance at normal incidence makes the Fresnel effect especially visible for dielectrics. The optical properties of dielectrics rarely vary much over the visible spectrum, resulting in colorless reflectance values. The F0 values for several common dielectrics are shown in Table 9.1. The values are scalar rather than RGB since the RGB channels do not differ significantly for these materials. For convenience,Table 9.1 includes linear values as well as 8-bit values encoded with the sRGB transfer function (the form that would typically be used in a texture-painting application).

日常生活中遇到的大多数材料都是电介质——玻璃、皮肤、木头、头发、皮革、塑料、石头和混凝土等等。水也是电介质。这最后一点可能令人惊讶,因为在日常生活中,水是导电的,但这种导电性是由于各种杂质。电介质的F0值相当低,通常为0.06或更低。这种垂直入射时的低反射率使得菲涅耳效应对于电介质尤其明显。电介质的光学特性在可见光谱范围内很少发生很大变化,从而导致无色的反射率值。几种常见电介质的F0值如表9.1所示。这些值是标量而不是RGB,因为这些材质的RGB通道没有显著差异。为方便起见,表9.1包括线性值以及用sRGB传递函数编码的8位值(纹理绘制应用中通常使用的形式)。

Table 9.1. Values of F0 for external reflection from various dielectrics. Each value is given as a linear number, as a texture value (nonlinearly encoded 8-bit unsigned integer), and as a color swatch. If a range of values is given, then the color swatch is in the middle of the range. Recall that these are specular colors. For example, gems often have vivid colors, but those result from absorption inside the substance and are unrelated to their Fresnel reflectance. 

表9.1。不同电介质外部反射的F0值。每个值都以线性数字、纹理值(非线性编码的8位无符号整数)和色样的形式给出。如果给定了一个值范围,则色样位于该范围的中间。回想一下,这些是高光颜色。例如,宝石通常具有鲜艳的颜色,但这些颜色是由物质内部的吸收造成的,与其菲涅耳反射无关。

The F0 values for other dielectrics can be inferred by looking at similar substances in the table. For unknown dielectrics, 0.04 is a reasonable default value, not too far off from most common materials.

其他电介质的F0值可以通过查看表中的类似物质来推断。对于未知电介质,0.04是一个合理的默认值,与大多数常见材料相差不远。

Once the light is transmitted into the dielectric, it may be further scattered or absorbed. Models for this process are discussed in more detail in Section 9.9. If the material is transparent, the light will continue until it hits an object surface “from the inside,” which is detailed in Section 9.5.3.

一旦光被传输到电介质中,它可能被进一步散射或吸收。这一过程的模型将在第9.9节中详细讨论。如果材料是透明的,光将继续照射,直到它“从内部”照射到物体表面,这在第9.5.3节中有详细说明。

Fresnel Reflectance Values for Metals

金属的菲涅耳反射值

Metals have high values of F0—almost always 0.5 or above. Some metals have optical properties that vary over the visible spectrum, resulting in colored reflectance values.The F0 values for several metals are shown in Table 9.2.

金属的F0值很高,几乎总是0.5或更高。一些金属具有在可见光谱范围内变化的光学特性,导致有色反射值。几种金属的F0值如表9.2所示。

Table 9.2. Values of F0 for external reflection from various metals (and one alloy), sorted in order of increasing lightness. The actual red value for gold is slightly outside the sRGB gamut. The value shown is after clamping. 

表9.2。各种金属(和一种合金)的外部反射F0值,按亮度递增顺序排序。黄金的实际红色值稍微超出了sRGB色域。显示的值是夹紧后的值。

Similarly to Table 9.1, Table 9.2 has linear values as well as 8-bit sRGB-encoded values for texturing. However, here we give RGB values since many metals have colored Fresnel reflectance. These RGB values are defined using the sRGB (and Rec. 709) primaries and white point. Gold has a somewhat unusual F0 value. It is the most strongly colored, with a red channel value slightly above 1 (it is just barely outside the sRGB/Rec. 709 gamut) and an especially low blue channel value (the only value in Table 9.2 significantly below 0.5). It is also one of the brightest metals, as can be seen by its position in the table, which is sorted in order of increasing lightness. Gold’s bright and strongly colored reflectance probably contributes to its unique cultural and economic significance throughout history.

类似于表9.1,表9.2有线性值以及用于纹理的8位sRGB编码值。然而,这里我们给出的是RGB值,因为许多金属都有彩色的菲涅耳反射。这些RGB值使用sRGB(和Rec.709)原色和白点。黄金的F0值有点不寻常。它是最强烈的颜色,红色通道值略高于1(刚好在sRGB/Rec.709之外色域)和特别低的蓝色通道值(表9.2中唯一明显低于0.5的值)。它也是最亮的金属之一,这可以从它在表中的位置看出,表是按照亮度增加的顺序排列的。黄金明亮和强烈的色彩反射可能有助于它在历史上独特的文化和经济意义。

Recall that metals immediately absorb any transmitted light, so they do not exhibit any subsurface scattering or transparency. All the visible color of a metal comes from F0.

回想一下,金属会立即吸收任何透射光,因此它们不会表现出任何次表面散射或透明。金属所有可见的颜色都来自F0。

Fresnel Reflectance Values for Semiconductors

半导体的菲涅耳反射值

As one would expect, semiconductors have F0 values in between the brightest dielectrics and the darkest metals, as shown in Table 9.3. It is rare to need to render such substances in practice, since most rendered scenes are not littered with blocks of crystalline silicon. For practical purposes the range of F0 values between 0.2 and 0.45 should be avoided unless you are purposely trying to model an exotic or unrealistic material.

正如所料,半导体的F0值介于最亮的电介质和最暗的金属之间,如表9.3所示。在实践中很少需要渲染这种物质,因为大多数渲染的场景都没有散落着晶体硅块。出于实用目的,F0值的范围应避免在0.2和0.45之间,除非您有意尝试模拟奇异或不现实的材料。

 Table 9.3. The value of F0 for a representative semiconductor (silicon in crystalline form) compared to a bright dielectric (diamond) and a dark metal (titanium).

表9.3。典型半导体(晶体形式的硅)的F0值与亮电介质(金刚石)和暗金属(钛)的F0值相比较。

Fresnel Reflectance Values in Water

水中的菲涅耳反射值

In our discussion of external reflectance, we have assumed that the rendered surface is surrounded by air. If not, the reflectance will change, since it depends on the ratio between the refractive indices on both sides of the interface. If we can no longer assume that n1 = 1, then we need to replace n in Equation 9.17 with the relative index of refraction, n1/n2. This yields the following, more general equation:

在我们对外部反射的讨论中,我们假设渲染表面被空气包围。否则,反射率将会改变,因为它取决于界面两侧的折射率之比。如果我们不能再假设n1 = 1,那么我们需要用相对折射率n1/n2代替方程9.17中的n。这产生了以下更一般的等式:

Likely the most frequently encountered case where n1 != 1 is when rendering underwater scenes. Since water’s refractive index is about 1.33 times higher than that of air, values of F0 are different underwater. This effect is stronger for dielectrics than for metals, as can be seen in Table 9.4. 

n1 != 1的最常见情况可能是在渲染水下场景时。由于水的折射率大约是空气的1.33倍,所以水下的F0值是不同的。从表9.4中可以看出,电介质的这种效应比金属更强。

Table 9.4. A comparison between values of F0 in air and in water, for various substances. As one would expect from inspecting Equation 9.19, dielectrics with refractive indices close to that of water are affected the most. In contrast, metals are barely affected. 

表9.4。各种物质在空气和水中的F0值的比较。从方程9.19可以看出,折射率接近水的电介质受影响最大。相比之下,金属几乎不受影响。

Parameterizing Fresnel Values

参数化菲涅耳值

An often-used parameterization combines the specular color F0 and the diffuse color ρss (the diffuse color will be discussed further in Section 9.9). This parameterization takes advantage of the observation that metals have no diffuse color and that dielectrics have a restricted set of possible values for F0, and it includes an RGB surface color Csurf and a scalar parameter m, called “metallic” or “metalness.” If m = 1, then F0 is set to Csurf and ρss is set to black. If m = 0, then F0 is set to a dielectric value (either constant or controlled by an additional parameter) and ρss is set to Csurf .

一种常用的参数化方法结合了镜面颜色F0和漫反射颜色ρss(漫反射颜色将在9.9节中进一步讨论)。这种参数化利用了金属没有漫射颜色以及电介质具有有限的F0可能值的观察结果,它包括RGB表面颜色Csurf和标量参数m,称为“金属性”或“金属性”。如果m = 1,则F0设为Csurf,ρss设为黑色。如果m = 0,则F0设置为介电值(常数或由附加参数控制),ρss设置为Csurf。

The “metalness” parameter first appeared as part of an early shading model used at Brown University [1713], and the parameterization in its current form was first used by Pixar for the film Wall-E [1669]. For the Disney principled shading model, used in Disney animation films from Wreck-It Ralph onward, Burley added an additional scalar “specular” parameter to control dielectric F0 within a limited range [214]. This form of the parameterization is used in the Unreal Engine [861], and the Frostbite engine uses a slightly different form with a larger range of possible F0 values for dielectrics [960]. The game Call of Duty: Infinite Warfare uses a variant that packs these metalness and specular parameters into a single value [384], to save memory.

“金属度”参数首先作为布朗大学[1713]使用的早期着色模型的一部分出现,其当前形式的参数化首先由皮克斯用于电影Wall-E [1669]。对于从Wreck-It Ralph开始的迪士尼动画电影中使用的迪士尼原则性阴影模型,Burley增加了一个额外的标量“镜面”参数,以将电介质F0控制在有限的范围内[214]。这种形式的参数化在虚幻引擎[861]中使用,冻伤引擎使用稍微不同的形式,对于电介质具有更大范围的可能F0值[960]。游戏《使命召唤:无限战争》使用了一种变体,将这些金属和镜面参数打包成一个值[384],以节省内存。

For those rendering applications that use this metalness parameterization instead of using F0 and ρss directly, the motivations include user convenience and saving texture or G-buffer storage. In the game Call of Duty: Infinite Warfare, this parameterization is used in an unusual way. Artists paint textures for F0 and ρss, which are automatically converted to the metalness parameterization as a compression method.

对于那些使用这种金属度参数化而不是直接使用F0和ρss的渲染应用程序,动机包括用户方便和节省纹理或G缓冲存储。在游戏《使命召唤:无限战争》中,这种参数化被以一种不寻常的方式使用。艺术家为F0和ρss绘制纹理,这些纹理作为压缩方法自动转换为金属度参数化。

Using metalness has some drawbacks. It cannot express some types of materials,such as coated dielectrics with tinted F0 values. Artifacts can occur on the boundary between a metal and dielectric [960, 1163].

使用metalness有一些缺点。它不能表达某些类型的材料,如带有着色F0值的涂层电介质。伪像可能出现在金属和电介质之间的边界[960,1163]。

Another parameterization trick used by some real-time applications takes advantage of the fact that no materials have values of F0 lower than 0.02, outside of special anti-reflective coatings. The trick is used to suppress specular highlights in surface areas that represent cavities or voids. Instead of using a separate specular occlusion texture, values of F0 below 0.02 are used to “turn off” Fresnel edge brightening. This technique was first proposed by Sch¨uler [1586] and is used in the Unreal [861] and Frostbite [960] engines.

一些实时应用程序使用的另一个参数化技巧利用了这样一个事实,即除了特殊的抗反射涂层之外,没有任何材质的F0值低于0.02。该技巧用于抑制表示空洞或空隙的表面区域中的镜面高光。使用低于0.02的F0值来“关闭”菲涅耳边缘增亮,而不是使用单独的镜面遮挡纹理。这项技术首先由Sch uler [1586]提出,用于虚幻[861]和冻伤[960]发动机。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椰子糖莫莫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值