python如何创建⼀个空数组_如何在python中创建空的c类型数组(或者只创建⼀个空值。。。
我想知道是否(以及如何)在python中创建空的c类型数组。如果要⽤零初始化数组,以下代码可以正常⼯作:from ctypes import *
data = [0 for i in xrange(10)]
a = ((c_float *10))(*data)
但是,如果数据是None值的列表,则会收到⼀条错误消息:
^{pr2}$
有没有⼀种⽅法可以⽤none或NULLs初始化和数组?在
编辑1:
我想要⼀个None/Null数组的原因是我想把这个数组上传到GPU。如果我⽤零初始化数组,那么将呈现零。但是,如果我初始化它将为NULL(如c中所定义),则不会呈现任何内容。在
编辑2:
使⽤c_float的原因是我需要将我的数据强制转换为c_float,这样它才能与opengl兼容。在
编辑3:
python 定义数组如果data是由零组成的,那么下⾯的代码将呈现⼀组@location 0/0的点。我希望发送NULL值到GPU不会导致任何点被呈现。在glBindBuffer(GL_ARRAY_BUFFER, vbo)
glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(data), data)
glVertexPointer(n_COORDINATES_PER_VERTEX, GL_FLOAT, 0, 0)
glDrawArrays(GL_LINE_STRIP, 0, len(data))
编辑4:
另⼀个可能需要在python中使⽤NULL的⽤例:根据opengl website,以下是如何在GPU上分配内存:
glBufferData(GL_ARRAY_BUFFER, SizeInBytes, NULL, GL_STATIC_DRAW)
如果在python代码中执⾏此操作,则会出现以下错误:NameError: global name 'NULL' is not defined
但是在python中肯定有⼀种⽅法可以做到这⼀点,对吧?在
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论