From 4b85f44188ae4d85331073aa3a8c8cb545da0e78 Mon Sep 17 00:00:00 2001 From: AaronRobert Date: Mon, 18 Jun 2018 10:07:39 +0800 Subject: [PATCH] Update --- source/10-let-there-be-light.md | 106 ++++++++++++++++++++ source/_static/10/diffuse_calc_i.png | Bin 0 -> 16555 bytes source/_static/10/diffuse_light.png | Bin 0 -> 27060 bytes source/_static/10/diffuse_light_normals.png | Bin 0 -> 23154 bytes source/_static/10/dot_product.png | Bin 0 -> 4362 bytes source/_static/10/light_reflection.png | Bin 0 -> 6653 bytes source/_static/10/light_types.png | Bin 0 -> 20260 bytes source/_static/10/surface.png | Bin 0 -> 20083 bytes 8 files changed, 106 insertions(+) create mode 100644 source/10-let-there-be-light.md create mode 100644 source/_static/10/diffuse_calc_i.png create mode 100644 source/_static/10/diffuse_light.png create mode 100644 source/_static/10/diffuse_light_normals.png create mode 100644 source/_static/10/dot_product.png create mode 100644 source/_static/10/light_reflection.png create mode 100644 source/_static/10/light_types.png create mode 100644 source/_static/10/surface.png diff --git a/source/10-let-there-be-light.md b/source/10-let-there-be-light.md new file mode 100644 index 0000000..7a42471 --- /dev/null +++ b/source/10-let-there-be-light.md @@ -0,0 +1,106 @@ +# 要有光!(Let there be light) + +在本章中,我们将学习如何为我们的3D游戏引擎添加光照。 我们不会去实现一个完美的物理光照模型,因为抛开复杂性不说,它还需要巨量的计算机资源,相反我们只需要一个近似的、像样的光照效果。 我们将使用一种名为 __Phong__ 的着色算法(由Bui Tuong Phong开发)。 另一个需要注意的是,我们将只模拟灯光,但我们不会模拟这些灯光所产生的阴影(这将在其他章节中完成)。 + +在开始之前,首先定义几个光源种类: + +* 点光源:这种光源模拟的是一个由点向空间各个方向均匀散射的光源 + +* 射线源:这种光源模拟从空间中的点发射的光源,但不是在所有方向上发射,而是限定在了一个锥形方向上 + +* 平行光源:这种光源模拟了太阳光,3D场景中的所有物体都会受到来自特定方向的平行光线的照射。 无论物体是近抑或是远,光线都是以一定角度照射在物体上的。 + +* 环境光:这种类型的光源来自空间的任何地方,并以相同的方式照亮所有物体。 + +![光照类型](_static\10\light_types.png) + +因此,为了模拟光,我们需要考虑光源类型,以及光的位置和其他一些参数,如颜色。 当然,我们还必须考虑物体如何受光照影响及吸收和反射光。 + +Phong着色算法将模拟光线对我们模型中每个点的影响,即每个顶点的影响。 这就是为什么它被称为局部光照模型的原因,这也是该算法不能计算阴影的原因,它只会计算应用到每个顶点的光,而不考虑顶点是否在挡光物体的后面。 我们将在后面的章节中解决这个问题。 但是,正因为如此,它是一种非常简单快速的算法,并且可以提供非常好的效果。 我们将在这里使用一个没有深入考虑材质的简化版本。 + +Phong算法提供了三种光照分量: + +* 环境光:模拟来自任何地方的光,这将为我们提供(需要对应强度值)未被任何光线照射的区域,就像背景光。 + +* 漫反射:考虑到面对光源的表面更亮。 + +* 高光:模拟光线如何在抛光或金属表面上反射。 + +最后,我们还要知道的规律是,乘以分配给片段的颜色,将根据接收的光线将该颜色变得更亮或更暗。我们令$A$为环境组光、$D$为漫反射、$S$为高光。 以上规律对于分量的加法表示如下: + +$$L = A + D + S$$ + +这些分量其实就是颜色,也就是每个光分量所贡献的颜色分量。 这是因为光分量不仅会提供一定程度的强度,还会改变模型的颜色。在我们的片段着色器中,我们只需将该光的颜色与原始片段颜色(从纹理或基色获得)相乘即可。 + +我们也可以为相同的材质分配不同的颜色,这些颜色将用于环境,漫反射和高光分量。 因此,这些分量将由材质相关的颜色而受到调整。 如果材质具有纹理,我们将简单地为每个分量使用单个纹理。 + +所以对于非纹理材质的最终颜色将是:$L = A * 环境光色 + D * 漫反射的颜色 + S * 高光颜色$ + +对于有纹理材质的最终颜色将是: + +$$L = A * 材质颜色 + D * 材质颜色 + S * 材质颜色$$ + +## 环境光分量 + +让我们来看看第一个分量,即环境光分量,它只是一个常量值,会使我们的所有对象变得更亮或更暗。 我们可以使用它来模拟特定时间段内的光线(黎明,黄昏等),也可以用它来添加一些光线,这些光线不直接被光线照射,但可以以简单的方式被间接光线照射(比如反射)。 + +环境光是运算最简单的分量,我们只需要传递一种颜色,并乘以基本颜色,以调整该基本颜色。 假如我们已经确定片段的颜色是$(1.0,0.0,0.0)$,即红色。 如果没有环境光时,它将显示为完全红色的片段。 如果我们将环境光设置为$(0.5,0.5,0.5)$,则最终颜色将为$(0.5,0,0)$,其实就是变暗的红色。 这种光会以同样的方式使所有片段变暗(说光照暗了物体似乎有点奇怪,实际上这就是我们得到的效果)。除此之外,如果光色的RGB分量不相同,它还可以为片段添加一些颜色,所以我们只需要一个向量来调节环境光强度和颜色。 + +## 漫反射 + +现在我们来谈谈漫反射。 它模拟了这样的规律,即与光源垂直的面看起来比以更接近光的角度接收光的面更亮。 一个物体接收的光线越多,其光密度(让我这样称呼)就越高。 + +![漫反射光](_static\10\diffuse_light.png) + +但是,我们该如何计算它? 你还记得上一章我们介绍过的法线概念吗? 法线是垂直于平面并且长度为1的向量。 因此,让我们在上图中绘制三个点的法线,如你所见,每个点的法线将是垂直于每个点的切平面的向量。 我们不去绘制来自光源的光线,而是绘制从每个点到光源(即相反的方向)的向量。 + +![法线与光的方向](_static\10\diffuse_light_normals.png) + +正如你所看到的,$P1$点的法线$N1$,与指向光源的向量平行,该法线的方向与光线的方向相反($N1$已经被平移标记,以便你可以看到它,但它在数学上是等价的)。$P1$相对于指向光源的向量,其角度等于$0$。 因为它的平面垂直于光源,所以$P1$将是最亮的点。 + +$P2$点的法线$N2$,与指向光源的向量的夹角约为30度,所以它应该比$P1$更暗。最后,$P3$的法线$N3$也与指向光源的向量平行,但两个向量的方向相反。 $P3$与指向光源的向量的角度为180度,所以根本不应该获得任何光线。 + +所以,看起来我们得到了一个计算某个点的光照强度的好方法,光强与该点的法线和该点指向光源的向量之间的夹角大小有关。但我们具体要怎么计算它呢? + +有一个我们可以使用的数学运算————点积。 该操作需要两个向量并产生一个数字(标量),如果它们之间的角度较小,则生成一个正数;如果它们之间的角度很大,则生成一个负数。 如果两个向量都被归一化,即两者的长度都等于1,那么点积的结果将介于$-1$和$1$之间。 如果两个向量的方向相同(即夹角为$0$),则点积为1;如果两个向量夹角为直角,则它的值为$0$;如果两个向量的方向相反,则为$-1$。 + +我们定义两个向量,$v1$和$v2$,并以$$α$$作为它们之间的夹角。点积的定义如下: + +![点积](_static\10\dot_product.png) + +如果两个向量都归一化,即它们的长度,它们的模块将等于1,它们的点积即为夹角的余弦值。 我们同样使用该运算来计算漫反射分量。 + +所以我们需要计算指向光源的向量。 我们如何做到这一点? 假如我们有每个点的位置(即顶点位置),我们有光源的位置。首先,这两个坐标必须位于相同的坐标系中。 为了简化,让我们假设它们都处于世界坐标系中,那么这些位置是指向顶点位置($VP$)和光源($VS$)的矢量的坐标,如下图所示: + +![漫反射光照运算](_static\10\diffuse_calc_i.png) + +如果我们从$VP$中减去$VS$,我们就得到了$L$向量。 + +现在,我们可以在指向光源的矢量和法线之间做点积,因为Johann Lambert是第一个提出这种关系来模拟平面亮度的,所以该乘积被称为兰伯特项。 + +让我们总结一下,我们定义以下变量: + +* $vPos$ :我们的顶点在模型视图空间坐标中的位置。 +* $lPos$:视图空间坐标中的光线位置。 +* $intensity$:光的强度(从0到1)。 +* $lCourour$:光的颜色。 +* $normal$:顶点法线。 + +首先,我们需要计算从当前位置指向光源的向量:$toLightDirection = lPos - vPos$。该操作的结果需要进行归一化。 + +然后我们需要计算漫反射因子(标量):$diffuseFactor = normal \cdot toLightDirection$。计算两个向量之间的点积,我们希望它在$-1$和$1$之间,所以两个向量都需要进行归一化。颜色需要在$0$到$1$之间,所以如果值低于$0$,我们将它设置为$0$。 + +最后,我们只需要通过漫射因子和光强来调制光色: + +$$ color = diffuseColour * lColour * diffuseFactor * intensity$$ + +## 高光分量 + +现在我们来看看高光分量,但首先我们需要知道光线是如何反射的。 当光照射到一个平面时,它的一部分被吸收,另一部分被反射,如果你还记得你的物理课内容,反射就是光子从物体反弹回来。 + +![反射光](_static\10\light_reflection.png) + +当然,平面不是完全抛光的,如果你近距离仔细观察,你会看到很多不平整的地方。 除此之外,有许多射线光(实际上是光子),会撞击这个平面,并且会以各种各样的角度进行反射。 因此,我们看到的就像是一束光照射一平面并散射出去。 也就是说,光线在撞击平面时会发散,这就是我们之前讨论过的漫射分量。 + +![平面](_static\10\surface.png) + diff --git a/source/_static/10/diffuse_calc_i.png b/source/_static/10/diffuse_calc_i.png new file mode 100644 index 0000000000000000000000000000000000000000..0f3d0e86c645b01778d7b67cd6c594c010445fb9 GIT binary patch literal 16555 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 literal 0 HcmV?d00001 diff --git a/source/_static/10/diffuse_light.png b/source/_static/10/diffuse_light.png new file mode 100644 index 0000000000000000000000000000000000000000..38fbfe76f647fc6b87363012dbe8285857f5c7c0 GIT binary patch literal 27060 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 literal 0 HcmV?d00001 diff --git a/source/_static/10/dot_product.png b/source/_static/10/dot_product.png new file mode 100644 index 0000000000000000000000000000000000000000..e18ef5f18e7a176159d84acd03161898bf26297f GIT binary patch literal 4362 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 Vq%4kT$2z}Y1K+u?U!v<6_CMXyq^$q| literal 0 HcmV?d00001 diff --git a/source/_static/10/light_reflection.png b/source/_static/10/light_reflection.png new file mode 100644 index 0000000000000000000000000000000000000000..579aea0e69501751e410d74a13f85c135c03aba7 GIT binary patch literal 6653 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 VQL@=IaAgD1zNZH-*06c@{{Z5GKKlRw literal 0 HcmV?d00001 diff --git a/source/_static/10/light_types.png b/source/_static/10/light_types.png new file mode 100644 index 0000000000000000000000000000000000000000..b92f71f764958f263fe016056a1cfc4a4cc5224e GIT binary patch literal 20260 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 LNkvXXu0mjf=rvVq literal 0 HcmV?d00001 diff --git a/source/_static/10/surface.png b/source/_static/10/surface.png new file mode 100644 index 0000000000000000000000000000000000000000..e4c492ca853c5be0244fe4f23b6ade3e1cc68f96 GIT binary patch literal 20083 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 upu@=|rKoV48O6t;kz~LrHScNvnd|f