【发布时间】:2019-09-20 12:33:57
【问题描述】:
我想将一个整数值传递给着色器来定义数组的长度。我是这样传递的:
uniforms:{
num_parcels: { value: ap_props.parcels }
}
ap_props.parcels = 24。我在着色器中收到它并尝试像这样应用它:
uniform int num_parcels;
uniform vec3 air_parcel_position[ num_parcels ];
我在浏览器控制台中看到了这个错误:
THREE.WebGLShader: gl.getShaderInfoLog() 片段错误: 0:123: '' : 需要常量表达式 错误:0:123:'':数组大小必须是常量整数表达式
我尝试将 num_parcels 转换为常量,但似乎不允许这样做。
我是否可以将整数传递给着色器并使用它来定义数组的长度?
【问题讨论】:
-
我认为我的问题和答案更直接和简单,但也许..