【发布时间】:2016-03-05 23:34:56
【问题描述】:
以下着色器方法:
float[1] GetArray()
{
float array[1];
array[0] = 1.0;
return array;
}
给我: 错误:0:1:'GetArray':语法错误:数组大小必须出现在变量名之后
【问题讨论】:
标签: opengl-es-2.0 glsles
以下着色器方法:
float[1] GetArray()
{
float array[1];
array[0] = 1.0;
return array;
}
给我: 错误:0:1:'GetArray':语法错误:数组大小必须出现在变量名之后
【问题讨论】:
标签: opengl-es-2.0 glsles
我找到了解决此限制的方法。 您可以通过引用修改传入的数组来返回一个数组。 这是一个示例片段着色器:
void GetArray(inout vec4 array[1])
{
array[0] = vec4(.5,.2,.1,1.0);
}
void main()
{
vec4 test[1];
GetArray(test);
gl_FragColor = test[0];
}
【讨论】: