2013-04-03 45 views
1

我在顯示如下代碼:(它的整個顯示FUNC,並在空閒FUNC數據的變化)有沒有辦法在下一個命令前等待最後一條命令到GPU?

glClear(GL_COLOR_BUFFER_BIT); 
glDrawPixels(100,100,GL_RGBA,GL_FLOAT,data); 
glutSwapBuffers(); 
glutPostRedisplay(); 

當我編譯該代碼,有時它閃爍的顏色作爲背景相同。 我認爲GPU在清除顏色之前捕獲drawpixel,並清除緩衝區。

我可以延遲清晰和平局,但我幾乎在每幀之間更改data
我該怎麼辦? 是否有像命令一樣的清空?

回答

4

我懷疑你忘記了在你的glutInitDisplayMode()調用中指定GLUT_DOUBLE,並且因此被賦予一個非雙緩衝的上下文。

此外,在顯示功能中不包括glutPostRedisplay() - 這應該在空閒功能的末尾。

+0

謝謝,無論工作! – radl 2013-04-04 14:39:18

相關問題