我正在使用 android 4.1 并尝试在 NDK 上使用 glTexSubImage2D,但没有任何成功。如果我改用 glTexImage2D,它确实有效。
这有效:
// Creation:
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, tempTexture->mWidth, tempTexture->mHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)tempTexture->mData);
// Render loop:
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, info.width, info.height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)pixels);
这不起作用(我什么也没画):
// Creation:
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, tempTexture->mWidth, tempTexture->mHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
// Render loop:
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, info.width, info.height, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)pixels);
我确保宽度和高度是正确的,但它仍然不起作用 - 我收到 GL_INVALID_ENUM 错误。
有任何想法吗?
谢谢,雅科邦