OpenGL变换问题
有人可以解释一下下面的例子中发生了什么吗:
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glRotatef(45,0,0,1);
DrawCube();
glTranslatef(4,0,0);
glRotatef(-45,0,0,1);
DrawCube();
glPopMatrix();
我假设它只会旋转正方形,将其右移 4 个单位,然后将其旋转回原来的旋转状态。这似乎太简单了,我是否缺少什么?
Can someone explain what is happening in the example below:
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glRotatef(45,0,0,1);
DrawCube();
glTranslatef(4,0,0);
glRotatef(-45,0,0,1);
DrawCube();
glPopMatrix();
I am assuming that it will just rotate the square, shift it right 4 units, and then rotate it back to its original rotation. It seems too easy though, is there something I am missing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
大致 -
这将导致绘制两个立方体。第一个位于中心,旋转了 45 度,第二个在旋转的 x 轴上 4 个单位之外,本身旋转了 -45 度。
Roughly-
This results in two cubes being drawn. The first is in the center, and rotated 45 degrees, and the second 4 units away on the rotated x-axis, and itself rotated -45 degrees.