我在OpenGL ES中的場景需要幾個大的分辨率紋理,但它們都是灰度,因爲我只是將它們用於蒙版。我需要減少我的記憶使用。在OpenGL ES 1.1中減少紋理的內存使用
我試着用Bitmap.Config.ALPHA_8和RGB_565加載這些紋理。 ALPHA_8似乎實際上增加了內存的使用。
是否有某種方法可以將紋理加載到OpenGL中並使其每像素使用少於16位?
glCompressedTexImage2D看起來可能很有前景,但從我所知道的情況來看,不同的手機提供了不同的紋理壓縮方法。另外,我不知道壓縮是否真的減少了運行時的內存使用。是否將解決方案存儲爲ATITC和PVRTC格式的紋理?如果是這樣,我如何檢測設備支持哪種格式?
謝謝!
有沒有一種方法可以在運行時加載位圖並對其進行壓縮,因此我不必擁有不同格式圖像的多個副本?我找不到有關ATITC格式的任何文檔。 – Tenfour04 2011-03-09 11:49:41
對於S3TC,您可以使用[libsquish](http://code.google.com/p/libsquish/)。但是,AFAIK,Imagination Technologies和AMD僅爲windows等提供了壓縮庫二進制文件。 – 2011-03-09 12:36:59
有沒有一種方法可以從這些格式之一中壓縮的文件中提取維度和格式,還是需要將其存儲在我的元數據中? – EboMike 2011-03-16 08:16:43