WebGL`uniform uint`导致语法错误

时间:2017-06-30 04:19:55

标签: glsl webgl vertex-shader glsles

我在Windows 10上使用谷歌浏览器版本59.0.3071.115(官方版本)(64位)。

我有一个顶点着色器,如下所示:

attribute vec3 aPosition;
attribute vec2 aTextureCoordinate;

uniform uint uLayer;
uniform vec2 uLocation;

varying highp vec2 vTextureCoordinate;

void main(void)
{
  gl_Position = vec4(aPosition + vec3(uLocation, 0.0), 1.0);
  vTextureCoordinate = aTextureCoordinate;
}

以前的版本没有第四行(uniform unit uLayer;),编译得很好。添加该行会导致ERROR: 0:5: 'uLayer' : syntax error。据我所知,这条句法语法没有任何问题,我找不到任何陈述uniform uint在顶点着色器中无效的内容。我在这里缺少什么吗?

1 个答案:

答案 0 :(得分:2)

WebGL 1使用GLSL 100,它不支持uint。 WebGL 2使用GLSL 300,它添加了uint