当我像这样在着色器中编写 uniformBuffer 时。
uniform Material {
uniform vec4 u_DiffuseColor;
uniform vec4 u_TilingOffset;
uniform vec3 u_MaterialSpecular;
uniform float u_AlphaTestValue;
uniform float u_Shininess;
};
gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS) 和 gl.getActiveUniform(program, i) 仍然包含 uniformBuffer 项(例如 u_DiffuseColor,它是多余的!),我发现的唯一一件事是 gl.getUniformLocation(program, uniName) 将返回无效的。
是否有另一种更好的方法可以获得不包括 uniformBuffer 项目的制服,因为我应该用两种不同的方式处理它们。