1
\$\begingroup\$

I have an ES 2.0 app and would like to use ETC2 texture compression if it is available (i.e. I am running on a device that supports ES 3.0 standard). Is it possible to use ETC2 in ES 1.1/2.0, and if so how can I query if a device supports it? For most forms of texture compression, there is an extension I can query for, but there is no extension for ETC2 since it is built in.

\$\endgroup\$
  • \$\begingroup\$ No, you can't use etc2 in ES2, not as far as i know. Probably on Android, but i still don't think so. \$\endgroup\$ – Raxvan Apr 9 '14 at 15:13
2
\$\begingroup\$

There are a bunch of GL extensions related to ETC2 support:

OES_compressed_ETC2_RGB8_texture
OES_compressed_ETC2_sRGB8_texture
OES_compressed_ETC2_punchthroughA_RGBA8_texture
OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture
OES_compressed_ETC2_RGBA8_texture
OES_compressed_ETC2_sRGB8_alpha8_texture

The ES3 compatibility extension aggregates those (and a few others). You can query for these extensions to check support, presumably.

\$\endgroup\$
  • \$\begingroup\$ Ok I think I misunderstood the extensions. When I open the "OpenGL Extensions Viewer" on android (on the newer Nexus 7), I see "Texture GL_COMPRESSED_RGBA8_ETC2_EAC". So i guess i should look for that when querying the extensions. \$\endgroup\$ – default Apr 9 '14 at 17:21
  • \$\begingroup\$ Well, except that string is not in the extensions, nor are any of the strings you mentioned (on this qualcomm device). Perhaps if those strings aren't in the extensions, then i can only use ETC2 in an ES 3.0 context? Not sure. \$\endgroup\$ – default Apr 9 '14 at 17:51
  • 1
    \$\begingroup\$ If the string isn't in the set of extension strings, it's not supported. \$\endgroup\$ – Josh Apr 9 '14 at 18:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.