1
0
mirror of https://github.com/LearnOpenGL-CN/LearnOpenGL-CN.git synced 2025-08-22 20:25:28 +08:00

It's code, not formula

This commit is contained in:
Meow J
2017-01-06 20:30:54 +08:00
parent 04579089c5
commit b88e8e3571

View File

@@ -149,7 +149,7 @@ for(int i = 0; i < steps; ++i)
}
```
通过利用\(dW\)来对所有离散部分进行缩放,其和最后就等于积分函数的总面积或者总体积。这个用来对每个离散步长进行缩放的\(dW\)可以认为就是反射率方程中的\(d\omega_i\) 。在数学上,用来计算积分的\(d\omega_i\) 表示的是一个连续的符号,而我们使用的\(dW\)在代码中和它并没有直接的联系(因为它代表的是黎曼和中的离散步长),这样说是为了可以帮助你理解。请牢记,使用离散步长得到的是函数总面积的一个近似值。细心的读者可能已经注意到了,我们可以通过增加离散部分的数量来提高黎曼和的**准确度**(Accuracy)。
通过利用`dW`来对所有离散部分进行缩放,其和最后就等于积分函数的总面积或者总体积。这个用来对每个离散步长进行缩放的`dW`可以认为就是反射率方程中的\(d\omega_i\) 。在数学上,用来计算积分的\(d\omega_i\) 表示的是一个连续的符号,而我们使用的`dW`在代码中和它并没有直接的联系(因为它代表的是黎曼和中的离散步长),这样说是为了可以帮助你理解。请牢记,使用离散步长得到的是函数总面积的一个近似值。细心的读者可能已经注意到了,我们可以通过增加离散部分的数量来提高黎曼和的**准确度**(Accuracy)。
反射率方程概括了在半球领域\(\Omega\)内,碰撞到了点\(p\)上的所有入射方向\(\omega_i\) 上的光线的辐射率,并受到\(f_r\)的约束,然后返回观察方向上反射光的\(L_o\)。正如我们所熟悉的那样,入射光辐射率可以由[光源](02 Lighting.md)处获得,此外还可以利用一个环境贴图来测算所有入射方向上的辐射率,我们将在未来的[IBL](03 IBL/01 Diffuse irradiance.md)教程中讨论这个方法。