"Unweave a rainbow, as it erewhile made The tender-person’d Lamia melt into a shade." —John Keats。翻译过来就是,拆解彩虹,可以让光鲜娇嫩的雷米亚黯然失色。

(Patrick:刚读完了乐乐女神写的漫谈HDR和色彩管理,嗯,写的真好,下一步要做的真的是HDR Display了,即使是手机游戏,毕竟支持HDR的手机已经蛮多了,iPhone8已经是HDR display了)

在前面章节中,RGB颜色值是被用于表示光的强度和阴影。在本章中,我们将用这些值表示基于物理的光量,这也为后续章节奠定基础。后面的章节,会更基于物理的角度来讨论渲染。我们还将进一步了解渲染过程中经常被忽略的"后半部分":将表示场景线性光量的颜色转化为最终显示颜色。

8.1 Light Quantities光量

任何基于物理渲染的第一步都是以精确的方式量化光。首先介绍Radiometry辐射度量,因为这是光基于物理传输的核心领域。然后讨论photometry光度学,它处理由人眼灵敏度度量出来的光的值。我们对颜色的感知是一种心理物理现象:对物理刺激的心理感知。颜色感知在colorimetry色度学一节中讨论。最后,讨论了用RGB颜色值进行渲染的有效性。

8.1.1 Radiometry辐射度量学

Radiometry辐射度量用于测量电磁辐射。正如9.1节将详细介绍的那样,这种辐射以波的形式传播。不同波长的电磁波往往具有不同的特性(波长是指具有相同相位的两个相邻点之间的距离,比如两个相邻峰值)。在自然界中,电磁波的波长范围非常广,从不到百分之一纳米的gamma波,到数万公里长的极低频无线电波(extreme low frequency ELF)。人类所能看到的波只是这个范围内的一小部分,从紫色的400纳米到红色的700纳米。如图8.1。

Color

上图为可见光的波长范围,显示在整个电磁光谱的上下文中。

Radiometry被用于测量电磁辐射的各个方面:总能量、功率(随时间变化的能量)以及与面积、方向或者两者皆有关的功率密度,这些被汇总在表8.1中。

Color

上图为辐射量和单位。

Color

(Patrick:上图为从HDR in Call of Duty截的图,可以和上面表格对照着看)

在Radiometry中,基本单位是radiant flux Φ。Radiant flux是随时间变化的radiant energy,用watts(W)测量。

Irradiance是radiant flux相对于面积的密度,即dΦ/dA。irradiance是根据一个区域来定义的,可以是空间中的一个假象区域,但通常是物体表面。它的单位是watts每立方米。

在聊下一个光量之前,我们先引入立体角的概念,也就是角度的三维扩展。一个角度可以用来测量平面上一组连续方向的大小,其弧度值等于这组方向与半径为1的封闭圆相交的弧长。类似的,立体角可以用来测量三维空间中的一组连续方向的大小,测量单位为steradians(缩写为"sr"),由半径为1的封闭球体上相交面片的面积定义。立体角用符号ω表示。

在二维空间,2Π弧度的角度覆盖整个单位圆。把它扩展到三维空间,4Π立体角将覆盖整个单位球的面积。一个立体角的大小如图8.2所示。

Color

下面我们将引入radiant intensity,I,也就是flux基于方向的密度,更精确的说,是基于立体角的密度(dΦ/dω)。测量单位为watts每steradian。

最后,radiance,L,是一种测量单射线电磁辐射的方法。更准确的说,它被定义为相对于面积和立体角的辐射通量密度(d2Φ/dAdω)。这个面积是在垂直于射线的平面上测量的。如果radiance是通过其他方向射向一个平面的时候,需要使用cos来进行校正。你可能会需要根据这个cos校正因子来生成投影面积,来定义radiance。

Radiance 是传感器(比如眼睛或者相机)测量的值(详细信息参照9.2节),因此它对于渲染非常重要。着色方程做的事情,其实就是计算从着色曲面出发,到摄像机这条射线的辐射度。这条射线的L值就是第五章提到的基于物理的公式中的量Cshaded。辐射度的测量单位是watts每平方米每steradian。

虽然并非全部原创,但还是希望转载请注明出处:电子设备中的画家|王烁 于 2020 年 7 月 16 日发表,原文链接(http://geekfaner.com/shineengine/Translation8_RealTime_Rendering_4th_Edition1.html)