glGenTextures不生成名称

时间:2012-10-22 16:09:36

标签: android opengl-es android-ndk opengl-es-1.1

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

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

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

1 个答案:

答案 0 :(得分:2)

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