glTexSubImage2D无法正常工作

时间:2013-10-13 18:37:06

标签: android opengl-es android-ndk

我正在使用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错误。

有什么想法吗?

谢谢, yakobom

1 个答案:

答案 0 :(得分:1)

好的,我解决了。显然,glTexSubImage2D中使用的宽度并不总是它应该是的,它有时会更大......