2013-03-19 61 views
3

我是OpenGL ES的新手,我嘗試繪製三角形,但我無法理解在每一幀上調用glClear(GL10.GL_COLOR_BUFFER_BIT)的目的是什麼?它在屏幕上出現了一些奇怪的文物。我應該每次在每一幀開始時都調用它嗎? 謝謝OpenGL ES:在每幀上調用glClear的目的

+2

完成單人紙牌遊戲後,您會看到未清除顏色緩衝區的效果。 – sharvey 2013-03-19 20:13:35

回答

2

簡化:如果你繪製一個三角形,只有幀緩衝區的實際上包含的部分三角形正在重繪。所以如果你畫一次,然後稍微移動一下,然後在下一幀中再畫一次,不需要調用glClear,前一幀的內容仍然會出現在幀緩衝區中。

這是你的神器的原因,爲什麼你應該每次你懷疑的東西有顯示的圖像中改變時間glClear您的幀緩衝區的原因。對於大多數應用程序而言,這確實意味着:每一幀。

+0

感謝你的回答,你說「如果你畫一次,然後稍微移動一下並在下一幀畫一遍」,我不會改變它,但是如果我看到文物,我會看到三角形與某些轉變重疊,但這種轉變是如何發生的? – user2187460 2013-03-19 18:12:49

+0

@ user2187460:這可能是多樣本FSAA的人工產物,可能會在您的系統上啓用。你也可能會遇到某種Z戰鬥。 – datenwolf 2013-03-19 18:36:34