2

我将 OpenGL ES 1.1 与 NDK 一起使用,有时当我调用glGenTextures它时,它不会更改我传入的名称持有者的值(甚至不会将其设置为 0)。

  • glGetError返回 0,没有错误。
  • 所有 GL 代码都在从表面渲染器调用的 JNI 方法onDrawFrame中,因此上下文不应该是问题。(编辑:这是一个错误的假设,是问题的原因)
  • 该代码在某些情况下有效,而在其他情况下无效。如果我在每一帧重复调用,它会在大约 5 次尝试后工作。(我根据要求生成字形)。
  • 第一批纹理至少创建到#32,但之后它会被击中和错过。

有谁知道为什么glGenTextures似乎什么都不做的原因?

4

1 回答 1

3

glGenTextures 是否在有效的 OpenGL(-ES) 上下文处于活动状态时调用?如果您使用多个线程: OpenGL(-ES) 上下文一次只能在一个线程中处于活动状态。但是每个线程可能有不同的活动上下文。

于 2012-10-22T16:11:35.620 回答