应该基于范围的雾使用长度(vec4)还是长度(vec3)?

时间:2017-04-06 02:23:51

标签: opengl glsl distance

我一直致力于基于this tutorial的基于范围的简单距离雾。本教程使用length(viewSpace)来获取片段到相机的距离,但是viewSpacevec4,这意味着w分量将影响长度。为什么这有用?它甚至是正确的吗?

1 个答案:

答案 0 :(得分:3)

我认为你发现了一个错误。我认为viewSpace.w将始终为1(假设标准世界和视图矩阵),因此行为至少相当一致。

着色器的作者可能只是根据错误调整了他的参数,因此它对他没有任何真正的伤害,任何性能影响都可以忽略不计,但你会更好关闭viewSpace到vec3 IMO。