2

我的大脑已经融化,因为我一直在这个问题上花费。

我需要在 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, 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();
4

2 回答 2

1

您在投影矩阵上使用 gluLookAt。这是错误的,gluLookAt 将应用于模型视图矩阵。

于 2011-04-09T21:58:56.980 回答
0

执行此操作时,您将GL_PROJECTION处于活动状态。至少如果我理解您的要求,您希望GL_PROJECTION在设置视口时使用(例如,使用glOrtho),但对于实际绘图,您希望在GL_MODELVIEW模式下工作。

于 2011-04-09T21:32:30.710 回答