PyOpenGL用于设置GLfloat类型数组的正确语法

时间:2014-12-09 14:55:05

标签: arrays pyopengl

我正在尝试设置一个GLfloat类型的3D坐标数组,但只能找到设置该类型的单个变量的参考,

a = GLfloat(1.0)

我试过了,

a = GLfloat([0.0, 0.0, 0.0],[1.0, 1.0, 1.0],[2.0, 2.0, 2.0])

但是得到以下错误,

TypeError: init 最多需要1个参数,得到3

在C中很容易,

Glfloat a[3][3] = {{0.0, 0.0, 0.0},{1.0, 1.0, 1.0},{2.0, 2.0, 2.0}}

那我怎么用Python做呢?

1 个答案:

答案 0 :(得分:2)

你可以获得一个带有列表理解的glfloats数组

pythonarray = [1, 2, 3, 4, 5, 6 ,7, 8]
glfloatarray = [GLfloat(x) for x in pythonarray]

但你可能会使用pyopengls array extensionnumpy float arrays结合使用。这使您可以轻松创建数据的vbos。