我已经在片段着色器中给出了所有三个矩阵(模型、视图、投影)。现在我喜欢计算每个片段的视角。相机具有例如45°的视角。我该怎么做?有了这个,我喜欢模拟来自相机的观察光线原点。谢谢!
问问题
1131 次
2 回答
0
您需要计算的倒数Projection · View · Model
并将其作为着色器的进一步统一提供(固定函数兼容性确实提供了 a gl_ModelViewProjectionMatrixInverse
)。使用它来取消投影点 (0,0,0,1) 和 (0,0,-1,1)。结果是模型空间中的两个点形成一条射线。
于 2013-01-15T18:12:28.327 回答
0
你需要投影矩阵(这里我称之为“proj”):
tangent_x = 1/proj[0][0];
tangent_y = 1/proj[1][1];
angle_x = arctan(tangent_x);
angle_y = arctan(tangent_y);
于 2016-06-20T23:02:08.563 回答