creator版本是2.0.10,
我是参考各位前辈实作的shader,
实作了一个描边的shader后,
发现对两个node使用shader,带入不同的参数,
例如一个红色一个绿色,
但是两个node的描边都会变成同一个颜色
请教有人遇到同样的问题过吗?
谢谢
creator版本是2.0.10,
我是参考各位前辈实作的shader,
实作了一个描边的shader后,
发现对两个node使用shader,带入不同的参数,
例如一个红色一个绿色,
但是两个node的描边都会变成同一个颜色
请教有人遇到同样的问题过吗?
谢谢
相当于两个node使用了同一Material,你定义成不同的Material试试。
表示遇到相同问题。不知道是不是批次渲染的问题。但是如果不批次渲染就会造成drawcall增大。
能不能做到像修改node颜色那样,同一个纹理修改不同颜色,就不会增加drawcall
谢谢两位,目前只能先用不同的名称做注册,这样才不会互相影响到
在设置了shader中的参数后,调用一下 _material.updateHash(),就可以了。我看源码中mask设置alphaThreshold参数就是这样弄的。
但是这样会造成即使是同一个纹理,drawcall也会增大。我想用shader做个涂抹、和擦除的功能,这样的节点加多了drawcall就会变成非常大.
不同的参数,要用不同的着色器程序。证明你这里是用了同一个着色器程序。可能引擎有缓存什么的。