0

我正在使用余弦加权半球实现环境光遮挡。到目前为止,我假设半球以法线 (0,0,1) 为中心,法线指向正 z 方向。我使用天顶角和方位角在这个半球上投射光线 $$0 < \theta < \pi/2, 0 < \phi < 2\pi$$,其中光线的方向计算为 (sin theta cos phi, sin theta sin phi,cos theta)。

我如何将其概括为适用于任意法线?

4

1 回答 1

0

找到表面的局部坐标系。

即让z轴为法线。然后,找到 x 和 y 的两个正交轴。这可以通过首先假设(0, 1, 0)为 y 轴(如果这是正常的,则为备用轴)来实现。然后将 x 轴计算为x = cross(y, z)并将 y 轴细化为y = cross(z, x)

然后您可以使用您的点计算 ( p) 作为该坐标系上的权重:

dir = p.x * x + p.y * y + p.z * z
于 2015-11-12T07:17:37.410 回答