shader GLSL3.0编译报错-想使用UBO

  • Creator 版本:2.1.4

  • 目标平台: 全平台

  • 重现方式:写一个effect文件,如下报错
    1、用上CCProgram vs {..}标识 – 报错
    2、uniform AAA {
    vec4 bbb;
    vec4 ccc;
    } — 报错

  • 首个报错:
    program-lib.js:232 light2dMask : Failed to compile vs 0 (ln 7):
    ‘CCProgram’ : syntax error:
    CCProgram vs %{
    program-lib.js:232 light2dMask : Failed to compile fs 1 (ln 0):
    ‘’ : syntax error:
    #define _USE_MODEL 0

  • 之前哪个版本是正常的:

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统:

  • 重现概率: 必现

我的问题是webgl报了 too many uniforms错误。 所以我想使用UBO来传递uniform参数,就是以下的神明方式:
uniform AAA {
vec4 bbb;
vec4 ccc;
} 但是这样声明会报错。

或者有别的能避免too many uniforms错误的方法,也请教一下。
另官方cc版本和支持的glsl版本对应关系哪里有看。