我正在尝试更改场景中相机的位置/可视角度,但无论我输入什么,它只显示我的重塑功能中设置的默认视图(下图)
void myReshape(int w, int h){
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(40,w/h,.5, 1000);
glMatrixMode(GL_MODELVIEW);glLoadIdentity();
}
此功能的每个其他问题通常是不正确的推 - 弹矩阵或在调用之前或之后进行翻译/旋转的结果。我不认为我有任何这些问题。这是我的显示功能。
void myDisplay(){
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0.0, 0.0, 0.0, 5.0, 5.0, 5.0, 0, 1, 0);
printf("Error: %x", glGetError());
glPushMatrix(); //save current matrix
glLoadIdentity(); //initialize new temp matrix to Identity
glTranslatef(0.0,0.0,-20); //move object back to origin
glScalef(g_vLandScale[1],g_vLandScale[1],g_vLandScale[1]); //perform transformations
glRotatef(g_vLandRotate[1]/float(10), 0.0,1.0,0);
glRotatef(g_vLandRotate[0]/float(10), 1.0,0,0);
glRotatef(g_vLandRotate[2]/float(10),0,0,1);
glTranslatef(g_vLandTranslate[0], 0.0,0.0);
glTranslatef(0.0,g_vLandTranslate[1],0.0);
glTranslatef(0.0,0.0,20); //move back to original position
renderSplines();
renderCrossBeams();
renderGround();
renderSky();
glPopMatrix();
glutSwapBuffers();
}
关于为什么这不起作用的任何想法?它完全跳过了线,并没有改变场景。我尝试过之前,之后,使用变量,使用硬编码,使用整数,浮点数,双精度,Glfloats,Gldoubles,把它放在推/弹块中,似乎没什么用。