OpenGL:模型视图矩阵的多用户向量?

时间:2008-11-12 19:35:23

标签: opengl 3d transformation

有没有办法让OpenGL变换为一般向量我用当前的模型视图矩阵给它并得到结果?

显而易见的方法是查询模型视图矩阵并自己进行乘法运算 我几乎肯定应该有办法让OpenGL为我做这个。

4 个答案:

答案 0 :(得分:5)

你是对的,你必须自己获得模型视图矩阵并转换矢量。

如需确认,请参阅第9.120段的this link

答案 1 :(得分:4)

最好在OpenGL之外进行计算。 The Matrix and Quaternions FAQ是学习如何执行计算的好资源,如果您还不知道的话。您按如下方式获取4x4模型视图矩阵

float modelview[16];
glGetFloatv(GL_MODELVIEW_MATRIX, modelview);

答案 2 :(得分:0)

最好在CPU端进行转换。我能想到的另一种方法是使用EXT_transform_feedback加上只进行模型视图转换的顶点着色器。

答案 3 :(得分:-1)

为什么opengl可能不会为你做这个是因为计算不是渲染管道的一部分。和opengl(大多数情况下)仅在显示循环期间执行计算。因此提供这种同步接口没有意义。