cocos2d shader 数组初始化问题

在.fsh中初始化数组

写法一:
const vec4 v = {
vec4(1.0, 0.0, 0.0),
vec4(0.0, 1.0, 0.0),
vec4(0.0, 0.0, 1.0)
};

报错
cocos2d: ERROR: 0:27: ‘{’ : syntax error: syntax error

根据网上的说法
写法二:
const vec4 v = vec4](
vec4(1.0, 0.0, 0.0),
vec4(0.0, 1.0, 0.0),
vec4(0.0, 0.0, 1.0)
);
报错
cocos2d: ERROR: 0:27: ‘(’ : syntax error: Array size must appear after variable name

有一种解决方案是先声明然后在main函数中赋值
vec4 v;

void main()
{
v = vec4(1.0, 0.0, 0.0);
v = vec4(0.0, 1.0, 0.0);
v = vec4(0.0, 0.0, 1.0);

}

请问哪位大神知道在main函数外初始化vecX数组??