【发布时间】:2013-03-08 07:53:07
【问题描述】:
我觉得我了解模型视图矩阵和gluLookAt 的用法。也就是说,通过声明gluLookAt(ex,ey,ez,lx,ly,lz,ux,uy,uz),可以轻松设置一种直接查看某个点的方法。
我的问题是 - 由于gluLookAt 后乘当前矩阵,假设您在调用gluLookAt 之前加载标识,并且当前矩阵模式是模型视图,如果您绘制立方体会发生什么?
所以是这样的:
glMatrixMode(GL_PERSPECTIVE);
glLoadIdentity();
glFrustum(-5, 5, -5, 5, 15, 150);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0, 0, 16, 0, 0, 0, 0, 1, 0);
glutSolidCube(1.0);
在世界坐标中渲染的立方体在哪里?出于某种原因,在这种情况下,它是在世界原点渲染的,您可以在视口中看到它 - 但为什么呢? gluLookAt 不应该用视图旋转和平移修改模型视图矩阵吗?立方体不应该本质上是用里面的相机渲染的吗?
【问题讨论】: