I have a project with many big images. At this point I need to reduce the amount of memory waste on graphics. And i'm not talking about texture pack, using PNG or JPG. I'm talking about using this method to use less memory mobile in our graphics:
ETC1 (Ericcson texture compression). This format is supported by all Android phones. But, It doesn't support an alpha channel, so can only be used for opaque textures.
PVRTC (PowerVR texture compression). Supported by devices with PowerVR GPUs (Nexus S, Kindle fire...).
ATITC (ATI texture compression).Used in devices with Adreno GPU from Qualcomm (Nexus One...).
S3TC (S3 texture compression). This texture compression is used in the NVIDIA chipset integrated devices (Motorola Xoom...)
I think the same is valid for iOs system. Is any of those formats available to work with Gideros? How to do?
Comments
But this is a great question. Would love to see new opengl es2 backend has option to support ETC1 compressed texture @atilim @ar2rsawseen
Ps: with etc1, there is no transparancy support, but technically we can use shader to avoid drawing certain pixel color. And we can use etc1 for background images, it will save lot of texture memory
Likes: hgvyas123, MysiaGames
http://www.nightspade.com
It is safe to say that almost all Android GLES 2 device support ETC1. I never test ETC1 on iOS yet, but if it works, i think it is better than uncompressed texture we use in Gideros right now. Especially non-transparent textures.
ETC2 is newer texture compression method which also support transparancy and is mandatory in GLES 3 spec (which was publicly released in August 2012). But sadly, is not available on mass market devices yet. Give it around 3-5 years for ETC2 to gain mass adoption
http://www.nightspade.com
@MysiaGames from what I know, there is no way to do it right now. And most probably won't be in the first OpenGLES 2 beta (which should be soon).
Can't tell about future releases yet, as there might be too many limitations with this compression method, that I'm not aware of. Maybe @atilim knows better.
Since on iOS everyone use PVRTC. On Android, Google tell devs to use ETC1 (which has no transparancy). And Nvidia want devs to use their format (DXT). Unity give options for their devs to compress textures to one or more formats and will pack it on one single package on deployment. On runtime, the game will choose which one is best to use.
http://www.nightspade.com