我正在嘗試將球體繪製到屏幕上,但沒有使用OpenGL(glut)將它們移除(獲得一些「trail」效果的王者)。全屏閃爍
我在屏幕上也有我想要閱讀的文本,所以我必須在舊文本上手動繪製一個黑色矩形,然後繪製新文本。
關鍵是我也想開啓/關閉,同時運行的「創新」,但香港專業教育學院遇到了一個很奇怪的問題:
當我使用單緩衝,一切都蠻好,但是當我切換到雙緩衝和只使用前緩衝區,我開始閃爍的文字。 這隻發生在全屏。在具有相同分辨率(1920x1080)的窗口模式下,沒有閃爍,儘管我獲得了相同的fps(約250)。
有沒有人知道是什麼原因造成這種情況,爲什麼?
「只使用前端緩衝區」是什麼意思?您是否在使用'glutSwapBuffers()',這是如何避免雙緩衝應用程序閃爍的。 – psalvaggio 2012-04-03 18:16:08
不,正好相反。我避免使用glutSwapBuffers來獲得單緩衝。我希望能夠在單緩衝和雙緩衝之間切換。我需要單緩衝才能獲得足跡效果,而不是兩次繪製所有內容。 – 2012-04-03 18:19:19
我一直覺得你通過將'GLUT_SINGLE'或'GLUT_DOUBLE'傳遞給'glutInitDisplayMode'來切換兩者。我發現這個例子,也許它可以幫助:http://www.sgi.com/products/software/opengl/examples/glut/examples/source/sb2db.c – psalvaggio 2012-04-03 18:22:56