diff --git a/source/10-let-there-be-light.md b/source/10-let-there-be-light.md index 7a42471..c45099b 100644 --- a/source/10-let-there-be-light.md +++ b/source/10-let-there-be-light.md @@ -12,7 +12,7 @@ * 环境光:这种类型的光源来自空间的任何地方,并以相同的方式照亮所有物体。 -![光照类型](_static\10\light_types.png) +![光照类型](_static/10/light_types.png) 因此,为了模拟光,我们需要考虑光源类型,以及光的位置和其他一些参数,如颜色。 当然,我们还必须考虑物体如何受光照影响及吸收和反射光。 @@ -50,11 +50,11 @@ $$L = A * 材质颜色 + D * 材质颜色 + S * 材质颜色$$ 现在我们来谈谈漫反射。 它模拟了这样的规律,即与光源垂直的面看起来比以更接近光的角度接收光的面更亮。 一个物体接收的光线越多,其光密度(让我这样称呼)就越高。 -![漫反射光](_static\10\diffuse_light.png) +![漫反射光](_static/10/diffuse_light.png) 但是,我们该如何计算它? 你还记得上一章我们介绍过的法线概念吗? 法线是垂直于平面并且长度为1的向量。 因此,让我们在上图中绘制三个点的法线,如你所见,每个点的法线将是垂直于每个点的切平面的向量。 我们不去绘制来自光源的光线,而是绘制从每个点到光源(即相反的方向)的向量。 -![法线与光的方向](_static\10\diffuse_light_normals.png) +![法线与光的方向](_static/10/diffuse_light_normals.png) 正如你所看到的,$P1$点的法线$N1$,与指向光源的向量平行,该法线的方向与光线的方向相反($N1$已经被平移标记,以便你可以看到它,但它在数学上是等价的)。$P1$相对于指向光源的向量,其角度等于$0$。 因为它的平面垂直于光源,所以$P1$将是最亮的点。 @@ -66,13 +66,13 @@ $P2$点的法线$N2$,与指向光源的向量的夹角约为30度,所以它 我们定义两个向量,$v1$和$v2$,并以$$α$$作为它们之间的夹角。点积的定义如下: -![点积](_static\10\dot_product.png) +![点积](_static/10/dot_product.png) 如果两个向量都归一化,即它们的长度,它们的模块将等于1,它们的点积即为夹角的余弦值。 我们同样使用该运算来计算漫反射分量。 所以我们需要计算指向光源的向量。 我们如何做到这一点? 假如我们有每个点的位置(即顶点位置),我们有光源的位置。首先,这两个坐标必须位于相同的坐标系中。 为了简化,让我们假设它们都处于世界坐标系中,那么这些位置是指向顶点位置($VP$)和光源($VS$)的矢量的坐标,如下图所示: -![漫反射光照运算](_static\10\diffuse_calc_i.png) +![漫反射光照运算](_static/10/diffuse_calc_i.png) 如果我们从$VP$中减去$VS$,我们就得到了$L$向量。 @@ -98,9 +98,9 @@ $$ color = diffuseColour * lColour * diffuseFactor * intensity$$ 现在我们来看看高光分量,但首先我们需要知道光线是如何反射的。 当光照射到一个平面时,它的一部分被吸收,另一部分被反射,如果你还记得你的物理课内容,反射就是光子从物体反弹回来。 -![反射光](_static\10\light_reflection.png) +![反射光](_static/10/light_reflection.png) 当然,平面不是完全抛光的,如果你近距离仔细观察,你会看到很多不平整的地方。 除此之外,有许多射线光(实际上是光子),会撞击这个平面,并且会以各种各样的角度进行反射。 因此,我们看到的就像是一束光照射一平面并散射出去。 也就是说,光线在撞击平面时会发散,这就是我们之前讨论过的漫射分量。 -![平面](_static\10\surface.png) +![平面](_static/10/surface.png)