OpenGL:如何将多个用户向量乘以模型视图矩阵?

7

有没有一种方法可以让OpenGL使用当前的模型视图矩阵转换我给它的一般向量,并将结果返回?

显然的方法是查询模型视图矩阵并自己进行乘法运算,但我几乎确定应该有一种方法可以让OpenGL为我完成这个任务。

4个回答

5

你是正确的,你需要获取模型视图矩阵并自己转换向量。

要确认,请查看第9.120段的此链接


4
最好在OpenGL之外进行计算。如果您还不知道如何执行计算,矩阵和四元数FAQ是一个很好的资源。您可以按以下方式获取4x4模型视图矩阵。
float modelview[16];
glGetFloatv(GL_MODELVIEW_MATRIX, modelview);

0

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


-1
OpenGL可能不会为您执行此操作的原因是因为该计算不是渲染管道的一部分。而且OpenGL(大多数情况下)仅在显示循环期间执行计算。因此,提供这些类型的同步接口是没有意义的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接