creator1.9.3版本,往shader中传入多张贴图引起节点的显示问题

  • Creator 版本:1.9.3

  • 目标平台: Web

  • 编辑器操作系统 :Windows10

  • 出现概率:必现

脚本是用 typescript写的,用cc.gl.bindTexture2DN(0, texture1Normal);绑定纹理到shader中,第二节点使用这个脚本时贴图会被覆盖掉,怎么在一个节点渲染完之后取消纹理的绑定?
正常显示效果图片应该是不同的


使用shader后贴图被覆盖了

glsl的frag

glsl的vert

绑定贴图的代码
let texture1 = this.shaderSpr.spriteFrame.getTexture();
let gltext1 = texture1._glID;
if (texture1) {
if (cc.sys.isNative) {
}
else {
// cc.gl.deleteTexture2DN(1, texture1)
cc.gl.bindTexture2DN(1, texture1);
}
}
let text1 = this.program.getUniformLocationForName(“texturediffuse”);
this.program.setUniformLocationWith1i(text1, 1);

没人吗,这个应该是在glDrawArray后没有取消绑定贴图造成的,但是glDrawArray这个方法在框架层由引擎调用了,有没有draw之后的回调函数可以执行,或者说在ts里面怎么能够在精灵渲染完成之后,取消贴图的绑定。

我只知道有绘制完成之后的事件,不知道是不是你要找的
cc.director.on(cc.Director.EVENT_AFTER_DRAW, callback);

谢谢回复,这个导演的事件貌似是这样的,


我可能想知道的是,有没有某个节点渲染之后的事件,更确切的说,是节点下面的精灵组件渲染之后的事件。