const
今天遇到了一个说不上奇怪的问题,这里记录一下:
在电脑端的shader是这样写的:
uniform sampler2D texture;
uniform vec2 sizeInfo;
varying mediump vec2 texcoord;
const vec2 src_size = vec2 (1.0 / sizeInfo.x, 1.0 / sizeInfo.y);
但是部署到手机端的时候,就报错。正确的写法是将const去掉。
这个问题是const
的问题,在着色器编译的时候,sizeInfo
并没有确定,并不能设置为const对象,所以在手机端的时候就会报错,但是在电脑端因为版本优化的问题则不会报错。