I am currently porting my engine for use with OpenGL ES, as it was originally developed using OpenGL. All things are good except the DDS loader, which uses normal OpenGL extensions (through glext.h) such as GL_EXT_texture_compression_s3tc. Even though OpenGLES uses the function glCompressedTexImage2D, which is identical to glCompressedTexImage2DARB, they dont have definitions for DXT texture such as GL_COMPRESSED_RGB_S3TC_DXT1_EXT. Does anyone know how I can get this working by giving me suggestions? Is it possible to get access to the glext.h function.
You can only use S3TC textures if they’re supported by the OpenGL (ES) implementation you are targeting. However, while S3TC is near universally supported in the desktop space that’s not true at all for mobile devices.
For OpenGL ES 1.x several hardware vendors have their own proprietary texture compression method (e.g. PVRTC on PowerVR MBX). ETC will be a cross-vendor standard for OpenGL ES 2.0.
You either need to create new compressed textures using the TC method of the hardware you are targeting, or you have to expand the S3TC textures to RGB/A.