如何在OpenGL中获取矩阵模型?

时间:2013-10-14 07:13:24

标签: opengl

我正在使用OpenGL进行一些编程,我需要获得模型矩阵以实现我自己的计算目的。众所周知,OpenGL库函数只能通过

获取模型视图矩阵
glGetDoublev(GL_MODELVIEW_MATRIX, m);

请告诉我如何使用C?

获取矩阵并实现此功能

1 个答案:

答案 0 :(得分:1)

OpenGL矩阵堆栈(授予它可用 - 在GL核心配置文件中禁用此功能,因为,如果我没记错的话,版本3.2或OpenGL ES 2.0)包含两种矩阵类型 - 投影和模型视图。单独的建模和视图矩阵没有实际用于3D绘图的目的,因此GL不区分它们(相反,D3D具有单独的投影,世界(建模的相同名称)和视图矩阵)。

Modelview只是modeling * view,这里没有魔力。但是,提取建模(如果你知道视图)是非常重要的数学。那么,如果您通过GL调用创建了建模矩阵,为什么要将其解压缩?难道你还没有重建矩阵的初始数据吗? (这是推荐的,因为较新的GL没有矩阵函数,所以在某些时候你必须自己计算矩阵并给GL只有最终的矩阵)。即使对于较低的GL轮廓,通常最好自己执行矩阵计算,然后使用glLoadMatrix()调用加载结果。