void myReshape(int w,int h){ glEnable(GL_DEPTH_TEST); glViewport(0,0,w,h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); if (w<=h) { glFrustum(-2.0,2.0,-2.0*(GLfloat)h/(GLfloat)w,2.0*(GLfloat) h/(GLfloat) w,-1.0,2.0);//glOrtho(-2.0,2.0,-2.0*(GLfloat)h/(GLfloat)w,2.0*(GLfloat) h/(GLfloat) w,-10.0,10.0); } else glOrtho(-2.0*(GLfloat)w/(GLfloat)h,2.0*(GLfloat) w/(GLfloat) h,-2.0,2.0,-10.0,10.0); glMatrixMode(GL_MODELVIEW); glutPostRedisplay(); }为什么用glFrustum投影会让图形全部变为黑色?
glFrustum(-2.0,2.0,-2.0*(GLfloat)h/(GLfloat)w,2.0*(GLfloat) h/(GLfloat) w,-1.0,2.0)中最后两个参数 -1.0,2.0 改成 0.1f, 100.f