这是我的(包装)OpenGL调用,它会导致GL_INVALID_OPERATION:
GLTextures.TexImage2D(TexImage2DTarget.TEXTURE_2D,TexImageInternalFormat.LUMINANCE_ALPHA,Width,Height,TexImageFormat.LUMINANCE_ALPHA,TexImagePixelType.UNSIGNED_BYTE,source.GetData());
此调用适用于Windows但不适用于iOS,在Windows中一切正常并且显示纹理.我在iOS和Windows上使用相同的枚举值,甚至着色器也是相同的(在iOS上有一些精确的提示).最多的纹理也适用于iOS.
解决方法
亮度alpha纹理使用LATC纹理压缩.
而且由于iPhone不支持EXT_texture_compression_latc扩展,因此您无法在iPhone上使用LATC纹理.
更多信息:
http://www.opengl.org/registry/specs/EXT/texture_compression_latc.txt
http://www.glbenchmark.com/phonedetails.jsp?benchmark=glpro25&D=Apple+iPhone+5&testgroup=gl