我正在繪製大量的半透明多邊形。我的場景是2D並使用2f頂點。我不能使用深度緩衝區,因爲它不會幫助,因爲alpha混合。什麼是其他一些技術來減少透支,因爲這是削弱我的應用程序,而不是多邊形計數,因爲我使用VBO的。謝謝防止透支(OpenGL)的技巧
1
A
回答
4
首先,你怎麼確定透支是你的問題?如果沒有更多關於你正在繪製的信息,很難猜測如何更快地繪製它。一般而言,避免過度抽取的關鍵是避免畫出任何不需要的東西。所以,如果你有一個2D側滾動遊戲,並且爲了視差目的而獨立滾動幾層背景圖像 - 天空,雲彩,山脈,遠處的森林和附近的森林 - 你會想要避免在任何其他地方繪製天空圖層可見。因此,如果您知道山脈確保覆蓋天空的某一部分,請改變天空多邊形的形狀,以便只在您期望天空可見的區域繪製。如果您仍然有問題,可能會爲跟隨山脈形狀的天空創建一個相當高分辨率的網格。同樣,如果森林層的地平面保證覆蓋一定的高度跨度,那麼不要在該地區繪製山脈。
在現代視頻硬件上,OTOH在2D場景中透支的幾層通常不是什麼大問題,所以我仍然很想知道你是如何確定這一點的,並且如果可能有某種類型的你的儀器和分析中存在偏差,這可能導致你誤入歧途。
0
在你的特定場景中,我會考慮將一些圖層渲染成OpenGL FBO(靜態圖層)。 然後合成動態圖層和靜態圖層等
畢竟,如果它是一個矢量繪圖應用程序,您不需要在每次用戶交互時重繪所有內容。
相關問題
- 1. 防止透支
- 2. 如何防止透支?
- 3. 在2D opengl遊戲中支持多屏幕的技巧?
- 4. 防止意外重新枚舉IEnumerable的技巧?
- 5. 在Rails3中防止垃圾郵件的技巧
- 6. 什麼是Git的分支技巧?
- 7. 防止OpenGL清除
- 8. 腳本技巧
- 9. nVidia SLI技巧
- 10. CSS hacks(技巧)
- 11. 用於在OpenGL中繪製共面多邊形的技巧
- 12. 使用着色器在OpenGL中繪製Spritesheet的技巧
- 13. 提高Android上OpenGL ES填充率的技巧
- 14. 的Eclipse Ganymede黑客,提示,技巧,技巧和最佳實踐
- 15. 高性能C#服務器套接字的技巧/技巧
- 16. iOS5開發技巧
- 17. CSS技巧或javascript
- 18. Ruby配置技巧
- 19. Alexa技巧離線
- 20. Asterisk編程技巧?
- 21. Eclipse構建技巧
- 22. Sphinx搜索技巧
- 23. runOnUiThread使用技巧
- 24. 卡技巧程序
- 25. Prolog邏輯技巧
- 26. DTS-調試技巧
- 27. Java程序技巧
- 28. PHP解析技巧
- 29. 企業JavaScript技巧
- 30. 技巧依賴關係的Mysql技術
「透支」究竟是什麼意思?僅僅因爲你使用VBO並不意味着你不能一次嘗試渲染太多。 – 2010-06-30 23:21:10
@Jon Cage:基本上,渲染場景時多次繪製相同的像素。使用半透明多晶硅時,一些透視是必要的,但我敢肯定,您可以前後排列您的多面體,然後使用一些模板魔法在已經繪製像素幾次之後不繪製像素。 – 2010-06-30 23:25:05
我的意思是,如果我繪製一個50x50的正方形陣列,它不會滯後,但是在另一個頂部的50x50正方形1確實很多。 – jmasterx 2010-06-30 23:25:23