对着色器属性值的linear参数的优化建议

着色器属性值(property)有一个linear参数,如下图,文档( https://docs.cocos.com/creator/manual/zh/shader/pass-parameter-list.html )中没有说明用法。
Screenshot 2024-03-29 at 16.44.20
测试发现,如果linear为true:则编辑器中设置的颜色的rgb值在运行时会被平方一下(alpha值不变),相当于sRGB转为linear颜色空间,如果为false,则不会。但是,如果没有在编辑器中设置颜色值,则编辑器会展示着色器里的默认值,实际运行时的值也是默认值,rgb不会被平方。

以上图着色器为例,在材质中第一次选中使用该着色器时,编辑器中展示的color1和color2的颜色值就是图中的默认值(0.4, 0.4, 0.4, 1.0)和(0.2, 0.2, 0.2, 1.0),运行值也是这个;如果在编辑器中分别调整color1和color2的值为(0.5, 0.4, 0.4, 1.0)和(0.5, 0.2, 0.2, 1.0),则实际运行时color1和color2的值会是(0.25, 0.16, 0.16, 1.0)和(0.5, 0.2, 0.2, 1.0),也就是color1的rgb值被平方了。

这里有行为不一致的问题,相当于编辑器里展示的颜色值,运行时有时会被平方(比如在编辑器中手动微调了颜色),有时不会(比如没在编辑器中修改颜色)。

优化建议:1. 在文档中增加对linear参数的说明;2. 在编辑器中展示linear为true的默认属性值时,展示开方后的值,这样编辑器中的颜色值在实际运行时的行为就统一了。