我有一个代码:
void kula(void)
{
glColor3f(1, 0, 0);
glutSolidSphere(0.2, 100.0, 100.0);
glFlush();
}
下一步:
void Display()
{
..
kula();
..
}
当窗口大小为600x600时,球体就可以了。但是当窗口大小不是正方形时,例如600x800而不是球体是扁平的蛋。我该如何处理?
答案 0 :(得分:2)
如果没有看到完整的初始化过程,有点难以理解,但我会猜测。
您可能没有根据分辨率设置投影矩阵,gluPerspective
可以帮助您解决问题。您应该在任何窗口调整大小事件时调用它,如下所示:
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
gluPerspective( field_of_view, (double)w/h, zner, zfar );
这些链接可以帮助您