我目前正在尝试通过 OpenGL 来了解基础知识。当时我尝试渲染一个带有金字塔的浮动立方体。我希望 Cube 在 Input 上旋转(这已经在工作)并且 Pyramid 保持在它应该在的位置。
在弄清楚使用后Push-
,PopMatrix
我设法只旋转了立方体。我的问题是,只要我松开钥匙,立方体就会停止旋转。player.X
那时并没有Player.Z
重置(检查)。
所以我的猜测是PushMatrix
把某种标准矩阵放到堆栈上,然后旋转它并显示它。因为1 * x
总是相等x
,所以没有旋转。
所以问题是:我如何设法将“旧”矩阵推入堆栈,而不是新矩阵?
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glPushMatrix();
glRotatef( -(player->Z), 1.0f, 0.0f, 0.0f );
glRotatef( -(player->X), 0.0f, 1.0f, 0.0f );
glBegin( GL_QUADS );
//Draw Cube
glEnd();
glPopMatrix( );
glBegin( GL_TRIANGLES );
//Draw Pyramid
glEnd();
glFlush();
SwapBuffers (hDC);