我正在为我的计算机图形类做这个 OpenGL 项目,我在其中显示一个对象并旋转它和其他东西,事情是在我们使用的项目开始时glOrtho()
它看起来非常棒。
但是现在老师说我们必须使用glFrustum()
透视,如果我使用那个函数,对象是这样绘制的,我真的不知道为什么会这样:
这是我init()
在一切都发生变化的函数中的代码:
void init (void)
{
/* select clearing (background) color */
glClearColor (0.0, 0.0, 0.0, 0.0);
glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-100.0, 100.0, -60.0, 160.0, -100.0, 100.0);
//glFrustum(-100, 100 ,-100 ,100 ,1 , 40);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glRotatef(90,0,1,0);
}
我会很感激你的帮助。
编辑:如果我使用 glFrustum(-100, 100, -100, 100, 20, 200) 它看起来像这样,就像我越来越近了,但是 left、right、top 和 bottom 参数呢?他们同意这些价值观吗?