前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >研究了3天,终于将 Shader 移植到 Cocos Creator 2.2.0 上了

研究了3天,终于将 Shader 移植到 Cocos Creator 2.2.0 上了

作者头像
张晓衡
发布2019-10-29 10:19:55
1.1K0
发布2019-10-29 10:19:55
举报

01

预览

扫光特效—Fluxay2

马赛克像素特效—Mosaic

过渡效果—Transfer

Shawn 花了3天时间,研究了Cocos Creator 2.2.0 的 Effect 语法,终于在1024节前夕,大概知道如何将 2.1.3 的 Shader 特效给移植过去,成功移植了上面几个 Effect 文件,下面我讲一下关键要点,相信你可以自行完成。

02

uniform block

在片元代码中定义 uniform 变量,除了sampler2D 类型以外,必须将 uniform 变量放到 uniform block 里面,代码如下:

uniform PROPERTIES{
  vec4  color;
  float factor;
  float width;
  float time;
}

在 WebGL 2 中新增了 Uniform Block 的写法,着色器与应用程序之间,或者着色器各阶段之间共享的变量可组织为变量块(Uniform Block)的形式,并且有时候必须采取这种形式。

Shawn 对具体细节也不清楚,还需要进一步学习。

02

vec3 不可用

有几个 Shader 有包含有 vec3 类型的 uniform 变量,始终报错,如下提示:

没有办法,搞了好次几都不行,只有求助引擎组大佬:

通过 panda 的指点,我将 vec3 类型的变量改为 vec4 就没事了!

有不少伙伴在微信或公众号后台向 Shawn 询问 ShaderHelper2 不能在 Cocos Creator 2.2.0 上工作的问题。

在此向大家致歉 ShaderHelper2 中的 Effect 还未完全移植完毕,移植的几个 Effect 也还未经过测试,需要再过几天才能放出,通过上面的方法你也可以快速移植。

03

结语

Shawn 写公众号有两年了,目前自由职业也已经 4 个月了,日更 120+ 天,但苦于一直没有收入,也未能探索出一个能持续维持生活的路子。唯一在10月接到「腾讯云沙龙」的 3 场线下沙龙推广活动,缓解拮据的经济情况。

本周六是「腾讯云沙龙」上海站,如果你在上海或有上海的朋友,请相互转告或邀约同行,Shawn为大家争取福利,上周北京站有 3 位伙伴获得了公众号专属福利《腾讯游戏开发精萃》,他们是:

  • 星空
  • samael
  • 赚钱容易花钱难

再次感谢 3 位伙伴对 Shawn 的支持,腾讯云这边非常大方,尽管「赚钱容易花钱难」没有邀到朋友同行,Shawn 也为他争取到了一份

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Creator星球游戏开发社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档