我有一個視圖,需要一次渲染多個圖像,我有很多紋理可以使用。 問題是,紋理正在改變,因爲我在任何給定的時間緩存有限的圖像,所以我需要在飛行中加載紋理,這會嚴重拖延渲染。 我該如何解決這個問題?OpenGL ES 2.0加載動態紋理
回答
壓縮實際上會阻礙你,因爲你必須花時間執行壓縮算法才能將圖像轉換爲可用的形式。
你使用了多少紋理,它們的尺寸是多少?
如果紋理很小,你可以嘗試做的事情是將幾個紋理塞入到一個大紋理中,並使用紋理座標來選擇合適的紋理。這會減少你不得不glGenTexture和glBindTexture的次數。另外,如果您的紋理訪問方式有任何形式,那麼您可以利用它來智能地將紋理分組爲更大的紋理。
如果您可以提供有關您的紋理的性質的其他信息,例如其內容是否更改或其他內容,那麼您可能會得到更有幫助的答案。
紋理是來自SD卡的圖像,平均大約500x500像素。它們以方形圖像的網格呈現。它們按重要性的順序由單獨的加載線程加載,然後傳遞給GL線程以便加載到GL上下文中。我試圖將它們分組成行,這樣每行都是GL紋理,但問題是我需要將從媒體存儲裝載的小型位圖繪製到保存行紋理的位圖中,並且由於Canvas繪製速度慢,所以我得到縮短紋理加載時間,而且我還必須在新位圖加入時重新加載行紋理。 – saarraz1 2012-03-27 21:09:25
如果我正確地理解了你,那麼對於每一行紋理,你需要通過Android的Canvas類從媒體存儲中覆蓋較小的圖像(例如縮略圖)?如果是這種情況,爲什麼沒有OpenGL繪製行紋理,然後在其上繪製縮略圖。那麼你不需要去畫布類來混合兩個紋理。 – MyReliableSchreck 2012-03-27 22:08:31
- 1. opengl es 2.0紋理加載
- 2. OpenGl ES 2.0加載紋理junkwise
- 3. OpenGL ES 2.0紋理
- 4. OpenGL ES 2.0衍生紋理
- 5. OpenGL es 2.0 Android紋理
- 6. 設置OpenGL ES 2.0紋理
- 7. opengl es 2.0紋理座標
- 8. 的OpenGL ES 2.0:在紋理
- 9. Android OpenGL ES 2.0紋理
- 10. 異步紋理加載iPhone OpenGL ES 2
- 11. android opengl es 1.1動態紋理壓縮
- 12. 將紋理加載到OpenGL 2.0中
- 13. OpenGL ES 2.0紋理顯示黑色
- 14. OpenGL ES 2.0中的紋理點?
- 15. Android OpenGL ES 2.0多紋理和相機
- 16. OpenGL ES 2.0中的紋理圖集
- 17. opengl es 2.0紋理正確的方式
- 18. OpenGL ES 2.0中的浮點紋理
- 19. 的OpenGL ES 2.0 - 複製紋理數據
- 20. Android NDK OpenGL ES 2.0紋理間距
- 21. OpenGL ES 2.0紋理映射問題
- 22. OpenGL ES 2.0渲染爲多個紋理
- 23. iPhone OpenGL ES 2.0 - 像素完美紋理
- 24. OpenGL ES iPhone紋理
- 25. OpenGL紋理應該動態加載和卸載
- 26. Opengl ES滑動紋理動畫
- 27. OpenGL ES 2.0的附加紋理模板緩存
- 28. OpenGL ES 2.0中元胞自動機的紋理格式
- 29. OpenGL ES 2.0:glReadPixels()與浮動或half_float紋理
- 30. OpenGL ES渲染到紋理
您是否使用任何類型的壓縮? – Maz 2012-03-23 09:03:47
我通過565配置中的MediaStore加載縮略圖,如果這就是您的意思... 如何使用壓縮? – saarraz1 2012-03-23 10:15:27