所以我在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中设置阵列制服?
答案 0 :(得分:0)
对于子孙后代,我通过电子邮件发送了维护vispy并得到答案的人:
"目前唯一的解决方案是单独传递统一数组的元素:"
program['u_warps[0]'] = warps[0]
program['u_warps[1]'] = warps[1]
...
维护人员说他们希望尽快解决这个问题。