Передача массива структур в шейдер OpenGL ES 2.0 - PullRequest
3 голосов
/ 06 октября 2011

Я хочу реализовать какое-то освещение.И я делаю структуру, которая содержит свойства источника света в вершинном шейдере:

struct Light
{
    vec4 color;
    vec4 pos;
    ...
};

В моем приложении я хочу иметь несколько источников света.Итак, я положил:

uniform Light[10];

Как я могу загрузить эти формы из приложения?Это хороший подход или лучше иметь:

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

1 Ответ

3 голосов
/ 07 октября 2011

Я думаю, вы не можете передавать структуры шейдерам OpenGL ES. Пожалуйста, проверьте это ТАКОЕ обсуждение, которое, кажется, подтверждает это:

Передача собственной структуры в шейдер opengl es 2.0

Я думаю, что безопаснее использовать ваше второе предложение, основанное на массивах униформы vec4.

...