环境遮挡半球以任意正常为中心

时间:2015-10-24 20:25:25

标签: graphics raycasting ambient

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

我怎样才能将其概括为适用于任意正常的?

1 个答案:

答案 0 :(得分: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