Iphone 将结构数组传递到OpenGL ES 2.0着色器

Iphone 将结构数组传递到OpenGL ES 2.0着色器,iphone,opengl-es,shader,opengl-es-lighting,Iphone,Opengl Es,Shader,Opengl Es Lighting,我想实现某种照明。我正在制作一个结构,它包含顶点着色器中的光源属性: struct Light { vec4 color; vec4 pos; ... }; 在我的应用程序中,我希望有几个光源。所以我说: uniform Light[10]; 然后如何从应用程序加载这些制服?这是一个好方法还是更好的方法: uniform vec4 LightColor[10]; uniform vec4 LightPos[10]; ... 我认为不能将结构传递给OpenGL ES着

我想实现某种照明。我正在制作一个结构,它包含顶点着色器中的光源属性:

struct Light
{
    vec4 color;
    vec4 pos;
    ...
};
在我的应用程序中,我希望有几个光源。所以我说:

uniform Light[10];
然后如何从应用程序加载这些制服?这是一个好方法还是更好的方法:

uniform vec4 LightColor[10];
uniform vec4 LightPos[10];
...

我认为不能将结构传递给OpenGL ES着色器。 请检查此讨论,以便确认:

我认为使用基于vec4制服阵列的第二个方案更安全。

可能重复的