如何在着色器中使用struct数组

struct ColorInfo {
    vec4 color;
    float contrast;
    float brightness;
  };

  uniform Constant {
    vec4 mainColor;
    ColorInfo infos[4];
  };

我想使用类似的数据结构,但是编辑器会报错
“array UBO members need to be 16-bytes-aligned to avoid implicit padding”
请问是否有办法实现?

错误明显提示了没有16字节对齐,结构体才24字节。你在上面结构体里面再加2个float,或者把那2个float变成个vec4.试一下。

是我没有说清楚,实际上跟16字节对齐貌似没关系,我试过对齐(比如删掉那两个float字段),依然是这个报错