这是我的(包装的)OpenGL 调用,它导致 GL_INVALID_OPERATION
:
GLTextures.TexImage2D(TexImage2DTarget.TEXTURE_2D, 0, 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
关于ios - glTexImage2D 导致 GL_INVALID_OPERATION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13295761/