Python 应为LP_c_float实例,而不是列表

Python 应为LP_c_float实例,而不是列表,python,opengl,pyglet,opengl-compat,Python,Opengl,Pyglet,Opengl Compat,我需要在函数中放入一个数组 material_diffuse = [1.0, 1.0, 1.0, 1.0] pgl.glMaterialfv(pgl.GL_FRONT_AND_BACK, pgl.GL_DIFFUSE, material_diffuse) or material_diffuse = [1.0, 1.0, 1.0, 1.0] pgl.glMaterialfv(pgl.GL_FRONT_AND_BACK, pgl.GL_DIFFUSE,ctypes.c_float(mate

我需要在函数中放入一个数组

material_diffuse = [1.0, 1.0, 1.0, 1.0]
pgl.glMaterialfv(pgl.GL_FRONT_AND_BACK, pgl.GL_DIFFUSE, material_diffuse) 

or 

material_diffuse = [1.0, 1.0, 1.0, 1.0]
pgl.glMaterialfv(pgl.GL_FRONT_AND_BACK, 
pgl.GL_DIFFUSE,ctypes.c_float(material_diffuse))
在第一种情况下,我得到:预期的LP_c_float实例,而不是list 在第二个:TypeError:必须是实数,而不是基于(pyglet包装通过)的列表,您应该使用:

pgl.glmaterialsv(pgl.GL\u前和后,pgl.GL\u漫反射,(pgl.GLfloat*len(material\u漫反射))(*material\u漫反射))
其他参考: