我没有掌握 OpenGL 的所有精妙之处,如果我的问题不够精确,我很抱歉
在 iPhone 上,我像这样加载纹理(png 图像)
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);
效果很好,但我注意到这恰好分配了纹理数据大小的两倍。我在论坛上读到这可能是由 mipmaping 引起的,所以我尝试通过评论 glTexParameteri 行来关闭它,但是我的纹理是空白的。
这是一个问题是我的显示代码中的纹理加载参数吗?我的显示代码是这样的
glTexCoordPointer(2, GL_FLOAT, 0, texture);
glVertexPointer(DIMENSION, GL_SHORT, 0, iVertex);
glBindTexture(GL_TEXTURE_2D, (GLuint)textureID);
glDrawArrays(GL_TRIANGLE_FAN, 0, iVertexCount);