自己填充纹理时 Texture2D宽高都小于或等于512时不能正常显示

开花大大们辛苦,看看这个问题,另外创建标题时,是不是不能带标点符号?

有大大么?千万火鸡 @panda

十万火急

信息太少了,所以别人很难帮到你,至少填充贴图的代码发出来

有传demo,你们不能看到吗?要不我在重新传一下?

我在额外线索里传了demo,大大能看到吗?

mark,裁切圆形的shader,图片尺寸也和这个一样,小于513尺寸,在web上也不能正常显示
https://forum.cocos.com/t/creator-2-1-2-shader/82058?u=lxb229

shader 裁切的圆形,如果图片小于500也会出错

恐怕需要重新@panda 大大一哈

我也碰到了差不多的问题
shader多纹理web不显示

https://forum.cocos.com/t/cocos-creator-2-x-shader/69098/82?u=cqp87294
同問,應該是相同問題
512512尺寸在 mask shader 無法正常显示
512
513尺寸可以显示

同样的问题 希望各位大大们看一下

这个是动态合批导致的问题,内存创建的纹理在动态合批处理上没有考虑周到,> 512的内存纹理超过了合批的纹理大小限制,所以没有进入合批流程,所以渲染正常, 已经反馈修复了。

但是,我裁切圆形的时候,试过88以下的图片也没问题,这是什么原因?还有修复的版本是在2.1.3吗?
8
8的应该是这样的:

内存数据创建的纹理才会有问题,图片创建的纹理是没问题的,我提交了个PR,你可以参考下。
https://github.com/cocos-creator/engine/pull/5207

不对啊,我设置了一下引擎的动态合图的处理: cc.dynamicAtlasManager.enabled = false; 这样子,在web上就正常了。。。

cc.dynamicAtlasManager.enabled = false; 是关闭了全部的动态合图

引擎组前辈的修改是让你在自已填充纹理时,不会加入动态合图,其他的动态合图还是运作的
你可以看下他的PR就知道了

大大你好,我把动态合图关闭(cc.dynamicAtlasManager.enabled = false)以后shader里加的小于512的纹理显示正常
但是加了你提交的PR在js里面测试后没有效果,在web还是不正常显示。


上面是预览的,下面是web的吗,没有流光
附上测试工程
shaderTest.zip (2.6 MB)

你的问题跟帖子处理的内容不一样,你使用双重纹理的shader只能关闭 cc.dynamicAtlasManager,目前版本也只有这个办法可以解决,双重纹理的合批问题计划会在2.2版本会得到修复。

好的,多谢大佬