我将 OpenGL ES 1.1 与 NDK 结合使用,有时当我调用 glGenTextures
时,它不会更改我传入的名称持有者的值(甚至不会将其设置为 0)。
glGetError
返回 0,没有错误。- 所有 GL 代码都位于从表面渲染器的
onDrawFrame
调用的 JNI 方法中,因此上下文不应该成为问题。 (编辑:这是一个错误的假设,也是问题的原因) - 该代码在某些情况下有效,而在其他情况下则无效。如果我每帧重复调用,它会在大约 5 次尝试后起作用。 (我正在根据要求生成字形)。
- 第一批纹理至少创建到 #32,但之后就时好时坏。
有谁知道glGenTextures
似乎什么也不做的原因吗?
最佳答案
是否在有效的 OpenGL(-ES) 上下文处于 Activity 状态时调用 glGenTextures?如果您使用多个线程:OpenGL(-ES) 上下文一次只能在一个线程中处于 Activity 状态。但每个线程可能有不同的 Activity 上下文。
关于android - glGenTextures 不生成名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13015386/