python - 如何解决 glDeleteTextures() 中的 TypeError?

标签 python typeerror pyopengl

def del_tex(self):
    glDeleteTextures(self.Texture_ID)

报错

TypeError: No array-type handler for type numpy.uintc (value: 1) registered

此错误意味着什么以及如何解决它?

最佳答案

PyOpenGL glDeleteTextures删除一组纹理。该函数有 2 个参数。纹理对象的数量和纹理对象的数组:

texarray = (GLuint*1)(self.Texture_ID)
glDeleteTextures(1, texarray)

列表似乎也有效:

glDeleteTextures(1, [self.Texture_ID])
<小时/>

如果返回 OpenGL 错误,则说明实现在语义上是正确的,但上下文是错误的。对象被删除两次,或者您没有有效且当前的 OpenGL Context当调用 glDeleteTextures 时。
错误 1282 表示 GL_INVALID_OPERATION,表示当前没有 OpenGL 上下文。

关于python - 如何解决 glDeleteTextures() 中的 TypeError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60351885/

相关文章:

python - 如何在 Python 中定义非 ISO 日期解析器?

python - 两组生成html标签

python-3.x - 如何使用 pygame 和 pyopengl 正确添加灯光以使对象获得更好的 View

Python lxml.etree - 从字符串解析 XML 还是直接从链接解析 XML 更有效?

python - 在 dynamoDB 查询中使用字符串作为 FilterExpression 的参数

Javascript TypeError,无法访问对象的方法

javascript - Object.defineProperty 有时会抛出异常

javascript - 尝试在 p5.js 中调用多行字符串时出现 TypeError

python - 我想两次使用 object a class 但它没有发生

python - 如何在导入的 3D 波前 OBJ 文件上实现对象碰撞