【发布时间】:2019-05-15 21:03:24
【问题描述】:
我有一个带有这个统一块的 GLSL 计算着色器:
#define MAX_OCTAVE_COUNT 8
layout(std140) uniform Parameters {
float time;
int octaveCount, octaveSize, executionCount;
float octaveWeight[MAX_OCTAVE_COUNT];
int chunkSize;
} params;
我将这个结构(D 语言)传递给它:
struct GenParams {
GLfloat time;
GLint octaveCount, octaveSize, executionCount;
GLfloat[MAX_OCTAVE_COUNT] octaveWeight;
GLint chunkSize;
}
但是,对于octaveWeight[x],其中x > 0,数据未通过(对于x = 0 是)。当我将浮动的静态数组更改为两个vec4(仅在着色器端)时,它可以工作。
这里有什么问题?
【问题讨论】: