Creator 1.2.0 中使用的 Shader效果控件,导致图片不显示

能不能具体描述一下重现问题的方法?谢谢反馈!

cocos creator 更新到1.2.0版本后,打开原来的https://github.com/colin3dmax/CocosCreator/代码,运行后就会出现这个问题

可以重现吗?

1.2重写了渲染底层,由于之前并未开放 Shader,因此第三方的 Shader 置换代码可能依赖了旧版本的渲染内部结构,确实是有可能出错的。麻烦看看报错信息,给原作者提供反馈,请求他升级到1.2。

你好,在 1.2 版本中由于我们提供了自动批处理,所以需要在 CPU 中计算 viewport 中的 Global matrix,这也是我们传递给 GPU 的值,所以以前 vertex shader 中的 MVP 计算需要简化为 MP 计算即可,以下面这个为例

https://github.com/colin3dmax/CocosCreator/blob/master/Shader/assets/Shaders/ccShader_Default_Vert.js#L10

gl_Position = ( CC_PMatrix * CC_MVMatrix ) * a_position;

要改为

gl_Position = CC_PMatrix * a_position;

现在更新到1.4.2又运行不了了。。

官方能不能把这几个基本的shader效果控件放在官方的test里。。。

1.4.2实测,如果node的内容只是spirte,那么是需要用 gl_Position = CC_PMatrix * a_position;

如果node里面是如spine动画,那么 web版本里面,需要用 gl_Position = ( CC_PMatrix * CC_MVMatrix ) * a_position; 才能正确位置,但native下面还是用 gl_Position = CC_PMatrix * a_position;

我也不知为啥。。。测试结果就是这样。。。

因为 spine 的 shader 是单独写的,所以这里的 shader 控件要单独定制才能用在 spine 上。

你1.4.2这个Shader能用?我运行显示不出图。。