GL_OES_texture_npot

Supported Hardware

Series5XT, Series6, Series6XE, Series6XT

Valid APIs

OpenGL ES 1.x, 2.0

Description

This extension removes almost all of the limitations surrounding non-power of two textures in OpenGL ES 1.x and 2.0. MIP Map specification is now allowed, and minification filters that include a MIP Map filter will now work as expected for Power of Two textures. All available wrap modes will now work as well, rather than just GL_CLAMP. The only restriction that this extension does not lift is that in OpenGL ES 1.x, glGenerateMIPMaps will not work unless GL_OES_framebuffer_object is also supported.

Note

This functionality is core to OpenGL ES 3.0.

Registry Link

http://www.khronos.org/registry/gles/extensions/OES/OES_texture_npot.txt

Example

// Upload a texture with dimensions of 15 by 47. Typically, this isn't supported without 
// extension support. 
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 15, 47, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixelData); 
// This extension lifts any restrictions on non-power of two textures, and all filter/wrap 
// modes can be used. 
glTexParameter(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); 
glTexParameter(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 
glTexParameter(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); 
glTexParameter(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);