【发布时间】:2017-06-30 04:19:54
【问题描述】:
我在 Windows 10 上使用 Google Chrome 版本 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 在顶点着色器中无效的内容。我在这里有什么遗漏吗?
【问题讨论】:
-
uint 在 glsl 100 中不存在,只有 int。你有它在 glsl 300 (webgl2)
-
啊。谢谢 - 我应该考虑检查 WebGL 中指定的 GLSL 版本。如果您想将其添加为答案,我会将其标记为正确。
标签: glsl webgl vertex-shader glsles