In my iOS game, I want to use the GL_APPLE_texture_2D_limited_npot extension when available to save memory (the game has NPOT textures, and in my current implementation I add some add-ons to make them two powerful).
I am testing my iPad (first generation). All that I have read so far suggests that all iOS devices that support OpenGLES2 (including iPad) also support GL_APPLE_texture_2D_limited_npot (which is very good, since my game uses OpenGLES2). I tested on my iPad and it supports (I removed the registration and the images work if I set wrap to GL_CLAMP_TO_EDGE), but the extension does not appear when I call glGetString (GL_EXTENSIONS). The code:
const char *extensions = (const char *)glGetString(GL_EXTENSIONS);
std::cout << extensions << "\n";
Results in:
GL_OES_depth_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_texture_float GL_OES_texture_half_float GL_OES_vertex_array_object GL_EXT_blend_minmax GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_EXT_separate_shader_objects GL_EXT_shader_texture_lod GL_EXT_texture_filter_anisotropic GL_APPLE_framebuffer_multisample GL_APPLE_rgb_422 GL_APPLE_texture_format_BGRA8888 GL_APPLE_texture_max_level GL_IMG_read_format GL_IMG_texture_compression_pvrtc
Why is this extension not showing with glGetString (GL_EXTENSIONS)? What is the correct way to test this? Do all OpenGLES2 iOS devices really support it?
source
share