pyOpenGL无法创建顶点缓冲区对象

2024-09-28 13:49:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚开始使用OpenGL并尝试使用python2.7、pygame和pyOpenGL创建一个基本的“hello world”类型的OpenGL应用程序,使用GPU渲染一些2D图形。尝试为顶点数据创建顶点缓冲区时:

Traceback (most recent call last):
  File "test.py", line 126, in <module>
    main()
  File "test.py", line 59, in main
    vertexbuffer = vbo.VBO([[0, 0], [1, 0], [1, 1], [0, 1], [2.2, 2.2], [2.7, 2.7], [2.2, 3.2], [1.7, 2.7]])
  File "/usr/lib/python2.7/site-packages/OpenGL/arrays/vbo.py", line 180, in __init__
    self.set_array( data, size )
  File "/usr/lib/python2.7/site-packages/OpenGL/arrays/vbo.py", line 204, in set_array
     self.size = ArrayDatatype.arrayByteCount( self.data )
  File "/usr/lib/python2.7/site-packages/OpenGL/arrays/arraydatatype.py", line 176, in arrayByteCount
    return cls.getHandler(value).arrayByteCount( value )
AttributeError: 'ListHandler' object has no attribute 'arrayByteCount'

vbo.VBOOpenGL.arrays.vbo.VBO。在

很困惑。搜索此错误消息绝对不会产生任何特定的结果。在

有什么见解吗?在

编辑:我想我应该包括在这个VBO调用之前执行的代码。在

^{pr2}$

在这个init()之后立即调用来自回溯的vbo.VBO(...)行。在


Tags: inpyselflibpackagesusrlinesite

热门问题