2012-08-02 143 views
4

GLM锥台提供了一个方法来声明的投影矩阵:GLM - 计算从投影矩阵

projectionMatrix = GLM ::透视(45.0f,4.0F/3.0F,0.1F,1000.f);

由此,我希望能够检查边界框是否在我的平截头体中。我如何获得平截面或任何它我需要从投影矩阵计算出来?这甚至是正确的方法吗?

回答

5

这将帮助:http://crazyjoke.free.fr/doc/3D/plane%20extraction.pdf

还要注意的是,为了提取圆台,你需要使用它的模型和视图矩阵,以及否则,你需要在边界框应用模型和视图变换,以提取执行测试。

+0

您能详细说明在提取平截头体时使用模型和视图矩阵吗?我的视图矩阵是我的相机的框架(位置,旋转)和投影矩阵。当我渲染我的世界时,我只是从我的相机中抵消了世界中的顶点。如果我没有将模型从模型转换到世界空间,我该如何应用模型矩阵,或者如何将其应用于边界框? – 2012-08-03 04:50:26

+0

你可以这样做:1.从投影矩阵中提取平截头体。 2.在边界框上应用视图转换。 3.进行测试(因为它们在相同的空间中)。 – brano 2012-08-03 06:41:51

+0

谢谢。我是否正确思考旧的固定管道,我不需要这样做?我从没干过。只用glGet抓住矩阵,它神奇地工作。 – 2012-08-03 06:48:21