Ger*_*eri 13 iphone opengl-es glsl fragment-shader
我只想存储每个片段计算所需的权重数组.
这个:
float weights[5] = float[5](3.4, 4.2, 5.0, 5.2, 1.1);
Run Code Online (Sandbox Code Playgroud)
只是抛出这个:
ERROR: 0:30: ']' : syntax error syntax error
ERROR: 0:30: ';' : syntax error syntax error
Run Code Online (Sandbox Code Playgroud)
Ste*_*nke 21
从OpenGL ES SL 1.0规范,段落4.1.9 Arrays(第24页):
没有在声明时从着色器中初始化数组的机制.
请注意,这是故意遗漏的.根据这篇文章,OpenGL ES 2的OpenGL ES SL版本基于OpenGL SL 1.2.同一段(第20页)包含:
数组可以具有由数组构造函数构成的初始值设定项:
Run Code Online (Sandbox Code Playgroud)float a[5] = float[5](3.4, 4.2, 5.0, 5.2, 1.1); float a[5] = float[](3.4, 4.2, 5.0, 5.2, 1.1); // same thing
小智 5
precision highp float;
const float a[5] = float[5](3.4, 4.2, 5.0, 5.2, 1.1);
Run Code Online (Sandbox Code Playgroud)
它适用于 Android KitKat 版本 (OpenGL ES 2.0)。