我有它加載的對象文件一個OpenGL項目時,對象被加載後,我希望能夠將其與鍵盤平滑移動,所以我寫了這個代碼塊做的工作:如何強制GLUT在函數返回之前重畫場景?
while (remains) {
if (x_remains) {
refPosition[0] += speed.x;
if (refPosition[0] > nextPos[0]) {
x_remains = false;
}
}
if (y_remains) {
refPosition[1] += speed.y;
if (refPosition[1] > nextPos[1]) {
y_remains = false;
}
}
if (z_remains) {
refPosition[2] += speed.z;
if (refPosition[2] >= nextPos[2]) {
z_remains = false;
}
}
remains = x_remains || y_remains || z_remains;
glutPostRedisplay();
}
爲你看,我想重新顯示在屏幕上出現場景,但是當這個執行glutpostredisplay()只設置一個標誌和場景是在主循環的下一次迭代重繪。我的問題是如何能夠重新繪製的場景而下一個循環之前,函數返回
什麼功能是本'在while'循環? –
通常你使用空閒函數而不是while循環。您可以隨時切換空閒功能,以支持不同的「迭代」模式。 – datenwolf
這同時是爲什麼我使用過剩命名鍵盤 – Mehdi