2011-12-14 36 views
1

我正在爲使用Opengl es 2.0的android應用程序工作。目前我正在加載一個大小爲2048x2048的文件作爲紋理。我基本上有很多256x256圖像合併到這個大文件中,以節省加載到應用程序的時間。我知道通過將這個jpg文件轉換爲RGB_565我可以節省一些存儲空間,並通過加載更快。如何將JPG或PNG文件轉換爲RGB_565格式並加載到android中的opengles 2.0?

我試圖谷歌這個,但沒有找到任何直接的方法來轉換JPG格式的RGB_565加載到opengl。當我嘗試使用擴展名爲RGB_565將常規jpg加載到opengl時,我只能看到一個黑屏。請讓我知道如何將簡單的jpg文件轉換爲可以更快加載的格式,例如RGB_565格式。

另外,請讓我知道你的想法在處理紋理與android使一個android應用程序加載速度更快,並提供良好的性能結果。

回答

0

正常的JPEG是24位的。如果您想要565紋理,則必須在解碼期間或解碼後但在紋理加載之前進行代碼轉換。如果你在解碼方面遇到瓶頸,這不會對你有所幫助;如果你的上傳時間受到瓶頸,那麼期望它的加速速度不會超過33%。

如果您當前使用紋理的JPEG格式,則不需要擔心Alpha通道。根據您的質量需求,使用ETC1(或特定於設備的壓縮 - 如果您在PVR GPU上,PVRTC非常好),壓縮紋理將在上傳時間和解碼時間方面有更大的改進。

相關問題