Laya2.7.1 shader compileShaderByDefineNames感觉无效了。

在进游戏的时候调用了 
Laya.Shader3D.compileShaderByDefineNames(curShader.name, 0, 0, []);
       Laya.Shader3D.compileShaderByDefineNames(curShader.name, 0, 0, ["BONE"]);
       Laya.Shader3D.compileShaderByDefineNames(curShader.name, 0, 0, ["TILINGOFFSET"]);在使用的时候感觉还是没预编译到。麻烦帮忙看看,还有个比较复杂的情况,就是预编译太多了有些时候会没效果。
例如:
        Laya.Shader3D.compileShaderByDefineNames(curShader.name, 0, 0, ["BONE"]);
        Laya.Shader3D.compileShaderByDefineNames(curShader.name, 0, 0, ["TILINGOFFSET"]);
Laya.Shader3D.compileShaderByDefineNames(curShader.name00, []);这情况 "[]"  这个defineName就没效果,一定要放上面。以前版本是放上面不行。
***
所以两个问题:
1、预编译没效果,使用的时候还在编译一下,之后就可以了。
2、预编译的先后顺序问题导致有些调用了没预编译成功。
麻烦帮忙看看是不是我姿势不对。谢谢
1.jpg
已邀请:

Laya_XS

赞同来自:

这个问题我们确认下,谢谢反馈问题。如果确认有问题的话,下个版本尽快修复。

184*****121

赞同来自:

感谢您反馈的bug  一些特殊的情况导致我们出现了问题,比较难查所以用了好长时间  您可以替换我给您的d3js他是一个宏定义清除标记的bug, 感谢您对laya的支持,

要回复问题请先

商务合作
商务合作