I do not master all the subtlety of OpenGL so sorry if my question is not precise enough
On iPhone I load a texture (png image) like this
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, iTextureSize.width, iTextureSize.height, 0, GL_RGBA, GL_UNSIGNED_BYTE, textureData);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_FILTER, GL_NEAREST);
Which works well but I noticed that this allocate exactly twice the size of textureData. I've read in forums that this could be caused by mipmaping so I tried to turn it off by commenting the glTexParameteri lines but then my textures is blank.
Is this a problem is my texture loading parameter on in my display code ? My display code is like this
glTexCoordPointer(2, GL_FLOAT, 0, texture);
glVertexPointer(DIMENSION, GL_SHORT, 0, iVertex);
glBindTexture(GL_TEXTURE_2D, (GLuint)textureID);
glDrawArrays(GL_TRIANGLE_FAN, 0, iVertexCount);
Now that you have mipmaps disabled alright, have you tried to disable the texture repeat ?
If your texture width or height is a value that is not a power of two, you fall into the 'non-power-of-two texture' (NPOT), which is handled with limitations on iPhone, see :
Rendering to non-power-of-two texture on iPhone