我沒有正確理解glutSwapBuffer的功能。在我的代碼中,如果我不使用glutSwapBuffer比沒有背景色進入窗口並且它保持透明,捕獲其背景中的任何內容。我認爲背景顏色實際上是由glClearColor分配的,比沒有使用glutSwapBuffer的我沒有獲得任何背景顏色。獲取背景色是否需要glutSwapBuffer命令?
1
A
回答
1
opengl通常配置爲使用雙緩衝。
您首先繪製到一個緩衝區......然後用第二個對象交換並顯示在屏幕上。 沒有調用glutSwapBuffer,你將看不到任何東西,這是正確的行爲。
+0
謝謝。我知道了。 – pcoder
2
這個問題來了一遍又一遍,我想您所描述的實際上是當你完全吸引到的複合窗口管理器前緩衝時會發生什麼。
沒有交換緩衝區,它不會正確繪製窗口,所以窗口顯示爲透明。複合窗口管理器需要雙緩衝,而且似乎也需要許多混合集成/獨立GPU實現(例如nVIDIA Optimus)。簡而言之,目前沒有真正的理由在桌面平臺上使用單緩衝渲染。
可以肯定,你的情況是否像這樣?該屏幕截圖顯示了在合成窗口管理器中移動僅使用單緩衝的窗口時發生的情況。
如果是這樣,一個更透徹的解釋可以發現here。
相關問題
- 1. 需要重疊CSS命令我需要刪除圖像背景。
- 2. UITableView:獲取背景顏色
- 3. 是否需要調用命令
- 4. 需要編輯WebPartZone的背景顏色
- 5. 需要CSS背景顏色幫助
- 6. 如何在JavaScript中獲取「背景顏色:背景」顏色?
- 7. 在NSTextField中設置背景色時有不需要的白色背景
- 8. 獲得背景色
- 9. GWT MAP 3.8(Google API) - 是否需要onResize()來隱藏「灰色背景」?
- 10. imagecopymerge獲取白色背景而不是黑色
- 11. TABLOCKX命令是否重要?
- 12. 背景是黑色
- 13. CSS:鏈接的背景圖像獲取父級背景色
- 14. GEB獲取背景和文本顏色
- 15. 獲取主題TListView的背景顏色
- 16. 獲取文本框的背景顏色
- 17. 如何獲取WPF背景的顏色
- 18. 獲取QPushButton按下背景顏色
- 19. 在數組中獲取背景顏色?
- 20. 獲取默認背景顏色
- 21. 獲取的水平線背景色HTML
- 22. Android獲取繪製背景顏色
- 23. 如何獲取TextView的背景顏色?
- 24. 如何獲取CheckBox背景顏色
- 25. 獲取窗口背景顏色
- 26. android ImageButton獲取灰色背景
- 27. 在cocos2d/IOS中獲取背景顏色
- 28. Android:獲取片段的背景顏色
- 29. WinApi - 獲取標準背景顏色
- 30. 獲取梯度背景顏色
所有的opengl函數*包括glClear *只更新後臺緩衝區。 完成繪圖後,將繪圖交換到前臺緩衝區。 – jcoder
...假設你已經請求['GLUT_DOUBLE'](http://www.opengl.org/documentation/specs/glut/spec3/node12.html) – jozxyqk
glClearColor只選擇顏色,framebuffer被清除帶有GL_COLOR_BUFFER_BIT集合的'glClear'調用。 – datenwolf