版本:3.6.3
请问如何在代码里动态设置材质的define?我目前直接设置pass下的defines,在编辑器和浏览器是有效的,在NATIVE环境下是失效的
代码截取:
effect -> 片源着色器:(色值是ts代码里传进去的,没有截取)
#if SHOW_GRADIENT
float gx = v_uv0.x*horizontal;
o.rgb = mix(startColor, endColor, vec4(gx)).rgb;
float gy = v_uv0.yvertical;
o.rgb *= mix(startColor, endColor, vec4(gy)).rgb;
#endif
ts代码动态更改:(this.lbl就是一个Label组件)
this.lbl.customMaterial.passes[0].defines[”SHOW_GRADIENT”] = true/false;
this.lbl.customMaterial.passes[0].tryCompile();
编辑器效果:

浏览器效果:

这两处都是有效的,但是native环境是失效的
native 安卓环境:(其他手机拍照运行设备得此图)

打印出来返回的是undefine
因为define打不开,所以着色效果就全失效了,请问native环境应该怎么做?
我记得以前Creator以前有个setDefine接口可以设置材质的define,但是3.6.3版本没有这个接口了。官方人员或是大神看到了这篇帖子,如果知道解决办法的话还请指点迷津,谢谢了。