OpenGL:模型视图矩阵的多用户向量?
-
08-07-2019 - |
题
有没有办法让OpenGL变换为一般向量我用当前的模型视图矩阵给它并得到结果?
显而易见的方法是查询模型视图矩阵并自己进行乘法运算 我几乎肯定应该有办法让OpenGL为我做这个。
解决方案
你是对的,你必须自己获得模型视图矩阵并转换矢量。
如需确认,请参阅第9.120段的此链接。
其他提示
最好在OpenGL之外进行计算。 Matrix和Quaternions FAQ 是学习如何执行计算的好资源。不知道了。您按如下方式获取4x4模型视图矩阵
float modelview[16];
glGetFloatv(GL_MODELVIEW_MATRIX, modelview);
最好在CPU端进行转换。我能想到的另一种方法是使用 EXT_transform_feedback 加上顶点着色器,仅执行模型视图转换。
为什么opengl可能不会为你做这个是因为计算不是渲染管道的一部分。和opengl(大多数情况下)仅在显示循环期间执行计算。因此提供这种同步接口没有意义。
不隶属于 StackOverflow