GLSL использует структуры как единые блоки - PullRequest
0 голосов
/ 03 июня 2018

У меня есть тип структуры, который я хочу передать как униформу.Возможно ли это сделать с помощью UBO?

struct LightParams {
  // ...
};
uniform LightParams uLight;

Очевидно, что это не объявляет его как единообразный блок, а вместо этого объявляет обычную униформу (и я, очевидно, должен назначать отдельных членов через glGetUniformLocation("uLight.position")?)

Другим вариантом будет использование

uniform LightBlock {
  LightParams uLight;
};

Но тогда унифицированное имя блока будет LightBlock, а не uLight, что немного сбивает с толку.

Неужели нет концепции использования структур в качестве блоков?

...