如何偏移openGL对象,同时仍保持像I';我直视着它?
我的大脑已经融化了,因为我一直在这个问题上 我需要在x和y方向上将一个立方体从原点偏移两倍,但是保持单点透视,就像我正直视它一样 每次我平移立方体时,它就好像投影来自原点一样 我想不出怎么做如何偏移openGL对象,同时仍保持像I';我直视着它?,opengl,matrix,perspective,Opengl,Matrix,Perspective,我的大脑已经融化了,因为我一直在这个问题上 我需要在x和y方向上将一个立方体从原点偏移两倍,但是保持单点透视,就像我正直视它一样 每次我平移立方体时,它就好像投影来自原点一样 我想不出怎么做 //this is here to draw a graph glMatrixMode (GL_PROJECTION); glLoadIdentity(); glOrtho(-10,10,-10,10,-10,10); glBegin(GL_LINES); glVertex3f(-10,
//this is here to draw a graph
glMatrixMode (GL_PROJECTION);
glLoadIdentity();
glOrtho(-10,10,-10,10,-10,10);
glBegin(GL_LINES);
glVertex3f(-10, 0,0);
glVertex3f(10, 0 ,0);
glVertex3f(0, -10,0);
glVertex3f(0, 10 ,0);
glEnd();
glPushMatrix();
glLoadIdentity();
glFrustum(-2.0, 2.0, -2.0, 2.0, 5, 100);
gluLookAt( 0,0,-6,
0, 0, 0,
0.0, 1.0, 0.0);
glutWireCube (.5);
glPopMatrix();
glFlush();
执行此操作时,您将保持
GL\u投影
模式处于活动状态。至少如果我理解您的要求,您希望在设置视口时使用glu投影
(例如,使用glOrtho
),但对于实际图形,您希望在glu MODELVIEW
模式下工作。您正在投影矩阵上使用gluLookAt。这是错误的,gluLookAt将应用于modelview矩阵。矩阵模式与绘图调用无关。但是OP在投影矩阵上使用gluLookAt,这是错误的。gluLookAt将用于modelview矩阵。感谢您的回复。我找到了使用多个视口解决问题的方法。我先创建主视口,然后在左下角创建一个较小的视口。感谢yalls的评论,现在我的glulookat正在影响我的modelview矩阵。