GLSL使用结构作为统一块

时间:2018-06-03 17:52:28

标签: opengl glsl shader

我有一个结构类型,我想作为制服传递。用UBO可以做到吗?

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

显然,这并没有宣布它是一个统一的块,而是宣布一个普通的制服(我必须通过glGetUniformLocation("uLight.position")分配个别成员?)

另一种选择是使用

uniform LightBlock {
  LightParams uLight;
};

但是,统一块名称将是LightBlock而不是uLight,这有点令人困惑。

是否真的没有使用结构作为块的概念?

0 个答案:

没有答案