我更新了minko as3代码,在标准配置文件上运行,而不是在基线上运行,我有一个带有动画的网格,有185个顶点常量,标准上允许的最大数量是250,但我一直收到跟踪错误:错误#3659: AGAL验证失败: vertex程序的令牌1处的源操作数1的常量寄存器索引越界。
我对agal的工作原理一无所知,但我了解minko。谁能给我指个正确的方向,该改变什么?我已经调整了minko Profile.as类和它的使用位置,这就是我如何能够在注册表中精确地调整顶点常量(185)。
发布于 2015-03-15 02:48:28
硬件动画需要更多的计算和寄存器。
看起来该标准的寄存器较少。但是Minko AS3着色器不知道这一点。考虑到的限制在这里强制执行:
它们很可能符合基线配置文件。我不确定更改它们是否真的对您有帮助,因为问题可能只是AGAL标准配置文件没有足够的常量寄存器……
如果你正在使用SkinningMethod.HARDWARE_MATRIX,你应该考虑改用SkinningMethod.HARDWARE_DUAL_QUATERNION。
也可以将网格的skinningMaxInfluences属性设置为较低的值。它绝对应该尝试使用更节省内存的着色器代码(有关实现的详细信息,请参阅https://github.com/aerys/minko-as3/blob/master/src/aerys/minko/render/shader/part/animation/SkinningShaderPart.as )。
https://stackoverflow.com/questions/29052465
复制相似问题