绘制立方体,如果有任何关键点点击opengl三维



我需要通过keyboardup方法绘制多维数据集的帮助,例如,如果我单击了"a",则必须显示一个多维数据集。到目前为止我已经达到

void KeyUp(unsigned char key, int x, int y) {
    if (key == 'a') {glutSolidCube(5);}
    glutPostRedisplay();
}

但是在opengl中什么也没有出现。

我想让你知道,当我把glutSolidCube(5);放在显示方法中时,它是有效的。

在键盘回调中切换一个"display cube"布尔值(并保留glutPostRedisplay()),并(选择性地)在显示回调中绘制多维数据集。

但是在opengl中什么也没有出现。

因为在用键盘方法绘制glutSolidCube(5)之后,可以用显示方法清除视口。这样画出来的东西都被抹掉了。

当我把glutSolidCube(5);在显示方法中,它起作用。

它在那里工作是因为你可能在正确的位置绘制(即)在清除视口之后和发布之前。

声明一个全局布尔值,并在键回调方法中将其设置为true。使用布尔值来决定是否必须在显示方法中绘制立方体。

最新更新