【发布时间】:2023-03-29 13:51:02
【问题描述】:
当我尝试使用具有非恒定索引的数组时,Three.js 出现以下错误:
'[]' : 索引表达式必须是常量
使用以下片段着色器:
precision mediump float;
varying vec2 vUV;
uniform vec2 screenResolution;
vec4 colors[2];
void main(void) {
vec2 uv = gl_FragCoord.xy / screenResolution.xy;
colors[0] = vec4(0.0);
colors[1] = vec4(1.0);
int index = int(floor(uv.y * 1.9));
gl_FragColor = colors[index];
}
Babylon.js 不会发生此错误。
我知道在 GLSL ES 的早期版本中无法对数组使用非常量索引,但现在应该可以了,对吧?
我如何知道 Three.js 和 Babylon.js 使用的 GLSL 版本?
【问题讨论】:
标签: three.js glsl webgl shader