2008-11-12 70 views
7

有没有办法让OpenGL变换为一个通用向量,我给它与当前的模型视图矩阵并得到结果吗?OpenGL:模型视图矩阵的多个用户向量?

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

回答

5

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

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

4

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

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

可能最好在CPU端进行转换。我能想到的唯一方法是使用​​加顶点着色器,只做模型视图转换。

-1

opengl可能不会为你做这件事的原因是因为计算不是渲染管道的一部分。和opengl(大部分)只在显示循环中执行计算。所以提供这些类型的同步接口是没有意义的。