首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打印VBO的内容

打印VBO的内容
EN

Stack Overflow用户
提问于 2022-01-02 00:45:09
回答 1查看 78关注 0票数 1

我在不同的时刻修改OpenGL_accelerate.vbo.VBO对象的位数,我想打印这个对象的实际全部内容(用于调试)。

一个简单的print(my_vbo)不工作(它打印<OpenGL_accelerate.vbo.VBO object at 0x0000019FA8370430>)

是否有一种简单的方法可以使用PyOpenGL (或者我必须维护数据的numpy副本)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-02 07:57:02

您需要创建一个GLfloat数组,并使用glGetBufferSubData将缓冲区从GPU读入该数组。最后,可以将数组打印为列表。

代码语言:javascript
复制
glBindBuffer(GL_ARRAY_BUFFER, vbo)

no_of_floats = 12 # read 12 floats
float_array = (GLfloat * no_of_floats)()
glGetBufferSubData(GL_ARRAY_BUFFER, 0, no_of_floats * sizeof(GLfloat), float_array)
print(list(float_array))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70552903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档