研究了3天,终于将 Shader 移植到 Cocos Creator 2.2.0 上了!
2019-10-25 14:37
2416 查看
预览
扫光特效—Fluxay2
马赛克像素特效—Mosaic
过渡效果—Transfer
Shawn 花了3天时间,研究了Cocos Creator 2.2.0 的 Effect 语法,终于在1024节前夕,大概知道如何将 2.1.3 的 Shader 特效给移植过去,成功移植了上面几个 Effect 文件,下面我讲一下关键要点,相信你可以自行完成。
uniform block
在片元代码中定义 uniform 变量,除了sampler2D 类型以外,必须将 uniform 变量放到 uniform block 里面,代码如下:
uniform PROPERTIES{ vec4 color; float factor; float width; float time; }
在 WebGL 2 中新增了 Uniform Block 的写法,着色器与应用程序之间,或者着色器各阶段之间共享的变量可组织为变量块(Uniform Block)的形式,并且有时候必须采取这种形式。Shawn 对具体细节也不清楚,还需要进一步学习。
vec3 不可用
有几个 Shader 有包含有 vec3 类型的 uniform 变量,始终报错,如下提示:
没有办法,搞了好次几都不行,只有求助引擎组大佬:
通过 panda 的指点,我将 vec3 类型的变量改为 vec4 就没事了!
有不少伙伴在微信或公众号后台向 Shawn 询问 ShaderHelper2 不能在 Cocos Creator 2.2.0 上工作的问题。
在此向大家致歉 ShaderHelper2 中的 Effect 还未完全移植完毕,移植的几个 Effect 也还未经过测试,需要再过几天才能放出,通过上面的方法你也可以快速移植。
相关文章推荐
- VTF的水波终于移植完了.
- SC32442上linux-2.6.32.26内核的ax88180官方驱动2.2.0的移植
- 研究了半天,终于闹明白答题格式
- VTF的水波终于移植完了.
- 终于把uboot移植搞定了
- 【血泪】SDL终于移植成功,并且在模拟器上跑起来了 花了
- 终于可以下载android源代码来开始研究framework层了
- 6410的裸机Boot终于移植成功了
- 终于研究出在系统上实现文字转语音功能,可以实现本公司的语音导航功能了
- 成功移植DHCP客户端到mini2440,终于可以上网了
- 嵌入式Linux的MiniGUI研究和移植[摘自老古]
- uClinux在嵌入式系统中的移植研究
- 第五天,终于实现了水下模糊效果(动态挂载脚本),blur里写入shader
- Java和C/C++程序实时通讯数据移植问题的研究
- 终于可以下载android源代码来开始研究framework层了
- u-boot移植随笔:一些内存地址的研究(gd_t和bd_t结构体)
- Fedora8平台下qtopia4在s3c2410开发板上终于移植成功了!
- Facebook 发布开源框架 PyTorch, Torch 终于被移植到 Python 生态圈
- ckeditor上传图片文件,研究了一天,终于...
- u-boot移植随笔:一些内存地址的再次研究(二维数组及指针数组)