mirror of
https://github.com/mouse0w0/lwjglbook-CN-Translation.git
synced 2025-08-23 04:35:29 +08:00
@@ -12,7 +12,7 @@
|
||||
|
||||
* 环境光:这种类型的光源来自空间的任何地方,并以相同的方式照亮所有物体。
|
||||
|
||||

|
||||

|
||||
|
||||
因此,为了模拟光,我们需要考虑光源类型,以及光的位置和其他一些参数,如颜色。 当然,我们还必须考虑物体如何受光照影响及吸收和反射光。
|
||||
|
||||
@@ -50,11 +50,11 @@ $$L = A * 材质颜色 + D * 材质颜色 + S * 材质颜色$$
|
||||
|
||||
现在我们来谈谈漫反射。 它模拟了这样的规律,即与光源垂直的面看起来比以更接近光的角度接收光的面更亮。 一个物体接收的光线越多,其光密度(让我这样称呼)就越高。
|
||||
|
||||

|
||||

|
||||
|
||||
但是,我们该如何计算它? 你还记得上一章我们介绍过的法线概念吗? 法线是垂直于平面并且长度为1的向量。 因此,让我们在上图中绘制三个点的法线,如你所见,每个点的法线将是垂直于每个点的切平面的向量。 我们不去绘制来自光源的光线,而是绘制从每个点到光源(即相反的方向)的向量。
|
||||
|
||||

|
||||

|
||||
|
||||
正如你所看到的,$P1$点的法线$N1$,与指向光源的向量平行,该法线的方向与光线的方向相反($N1$已经被平移标记,以便你可以看到它,但它在数学上是等价的)。$P1$相对于指向光源的向量,其角度等于$0$。 因为它的平面垂直于光源,所以$P1$将是最亮的点。
|
||||
|
||||
@@ -66,13 +66,13 @@ $P2$点的法线$N2$,与指向光源的向量的夹角约为30度,所以它
|
||||
|
||||
我们定义两个向量,$v1$和$v2$,并以$$α$$作为它们之间的夹角。点积的定义如下:
|
||||
|
||||

|
||||

|
||||
|
||||
如果两个向量都归一化,即它们的长度,它们的模块将等于1,它们的点积即为夹角的余弦值。 我们同样使用该运算来计算漫反射分量。
|
||||
|
||||
所以我们需要计算指向光源的向量。 我们如何做到这一点? 假如我们有每个点的位置(即顶点位置),我们有光源的位置。首先,这两个坐标必须位于相同的坐标系中。 为了简化,让我们假设它们都处于世界坐标系中,那么这些位置是指向顶点位置($VP$)和光源($VS$)的矢量的坐标,如下图所示:
|
||||
|
||||

|
||||

|
||||
|
||||
如果我们从$VP$中减去$VS$,我们就得到了$L$向量。
|
||||
|
||||
@@ -98,9 +98,9 @@ $$ color = diffuseColour * lColour * diffuseFactor * intensity$$
|
||||
|
||||
现在我们来看看高光分量,但首先我们需要知道光线是如何反射的。 当光照射到一个平面时,它的一部分被吸收,另一部分被反射,如果你还记得你的物理课内容,反射就是光子从物体反弹回来。
|
||||
|
||||

|
||||

|
||||
|
||||
当然,平面不是完全抛光的,如果你近距离仔细观察,你会看到很多不平整的地方。 除此之外,有许多射线光(实际上是光子),会撞击这个平面,并且会以各种各样的角度进行反射。 因此,我们看到的就像是一束光照射一平面并散射出去。 也就是说,光线在撞击平面时会发散,这就是我们之前讨论过的漫射分量。
|
||||
|
||||

|
||||

|
||||
|
||||
|
Reference in New Issue
Block a user