使用vispy的gloo传递Vec3阵列

时间:2015-03-18 05:31:14

标签: python opengl shader

所以我在python中使用gloo包来运行一些基本的GL着色器。

对于一个着色器,我需要传入一个10 vec3数组的制服:

uniform vec3 u_warps[10];

但是,当我尝试在python中设置它的值时:

program['u_warps'] = warps // or gloo.VertexBuffer(warps)

我收到错误:

  

KeyError:'Unknown uniform or attribute u_warp'

这对我来说这个图书馆不识别阵列制服?如果我在'warps'(“warps [10] - > warps”)之后删除了括号,那么找到了统一,但是无法正确设置(因为我传入一个数组的数据)。

有什么我想念的吗?有没有人知道是否有办法在gloo中设置阵列制服?

1 个答案:

答案 0 :(得分:0)

对于子孙后代,我通过电子邮件发送了维护vispy并得到答案的人:

"目前唯一的解决方案是单独传递统一数组的元素:"

program['u_warps[0]'] = warps[0]
program['u_warps[1]'] = warps[1]
...

维护人员说他们希望尽快解决这个问题。