openGL 中glFrustum的使用问题

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投影会让图形全部变为黑色?
最新回答
铭华丶族丿主宰

2024-10-17 02:57:21

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