[我正在使用Ubuntu 3.6中的Python 3.6 / PyOpenGL 3.1.0在具有相同配置的两台不同机器上使用OpenGL(除非我缺少某些东西)。
我在两台计算机上都运行相同的脚本。
代码如下:
pixels = glReadPixels(0, 0, 640, 640, GL_RGB, GL_FLOAT)
print(pixels)
在一台机器上,print
显示:
<OpenGL.arrays.ctypesarrays.c_float_Array_640_Array_640_Array_3 object at 0x7fcd1e681158>
而另一方面,我得到了一个浮点数组,如预期的那样:
[[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
...
您对此有何看法?谢谢。
按照乔的建议,我尝试了print(type(pixels))
并发现:
打印美观矩阵的机器上的[<class 'numpy.ndarray'>
vs
<OpenGL.arrays.ctypesarrays. ...>
上的另一个。
事实证明第二台机器错过了numpy
。安装numpy
后,结果与第一台计算机上获得的结果相同。
这特别令人讨厌,因为当尝试使用pickle
序列化数据时脚本第二台机器崩溃了。
将这个答案留在这里,希望其他人会发现它有用。