预览



扫光特效—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 也还未经过测试,需要再过几天才能放出,通过上面的方法你也可以快速移植。

研究了3天,终于将 Shader 移植到 Cocos Creator 2.2.0 上了!的更多相关文章

  1. Creator 2.2.0 终于等来了这款Shader组件神器!一招搞定Effect特效

    先看下视频演示: ShaderHelper2支持Creator 2.2.0 视频录完后才想起,还没在微信小游戏中测试,赶紧试试,下面是在微信开发者工具中的截图. 径向模糊 探照灯 提供了一个Shade ...

  2. 今天研究了下webservice 终于OK了

    今天研究了下webservice 终于OK了,所以把它写到自己的博客来,因为网上说的都很复杂     而在这里,我会很简单的说明,一看就懂     首先在进行webservice  一定要下载包    ...

  3. [MFC] VS2013版本MFC工程移植到VC6.0上

    :VS虽号称“宇宙最强IDE”,但是有时候安装包太大,动不动就几个G:而且安装好之后也会多出很多几乎很难用到的部分,这对于那些处女座的人如何忍受!本文不是吐槽,而是给出一种在应急场景下,不用安装新版本 ...

  4. 飘扬的旗帜!shader 编程实战!Cocos Creator!

    用 shader + mesh 立个 flag 吧! 文章底部获取完整代码! 效果预览 使用方法 创建一个空节点 添加用户脚本组件 mesh-texture-flag 添加图片 修改对应属性 实现原理 ...

  5. 深入研究Block用weakSelf、strongSelf、@weakify、@strongify解决循环引用(上)

    深入研究Block捕获外部变量和__block实现原理 前言 在上篇中,仔细分析了一下Block的实现原理以及__block捕获外部变量的原理.然而实际使用Block过程中,还是会遇到一些问题,比如R ...

  6. 移植 libuv 至 Visual C++ 6.0 并支持 Windows XP 编译系统

    移植版本 libuv:https://github.com/liigo/libuv-vc6 (支持VC6和XP.作者Liigo). 我从一年前(大概2013年6,7月份)開始在业余时间做这项移植工作, ...

  7. Unity Shader学习笔记 - 用UV动画实现沙滩上的泡沫

    这个泡沫效果来自远古时代的Unity官方海岛Demo, 原效果直接复制3个材质球在js脚本中做UV动画偏移,这里尝试在shader中做动画并且一个pass中完成: // Upgrade NOTE: r ...

  8. I.mx6s上移植wm8960驱动(基于linux3.0.101版本)

    I.mx6s上移植wm8960驱动   此篇博文只记录移植的步骤,其他不做分析.首先上一张wm8960的硬件连接图: 1  上电操作   配置wm8960的上电脚,文件位置:arch/arm/mach ...

  9. redis终于有比较大的进展了,redis3.0.1 稳定版本发布,支持集群。

    原文地址:https://raw.githubusercontent.com/antirez/redis/3.0/00-RELEASENOTES Redis 3.0 release notes --[ ...

随机推荐

  1. stm32 新建工程

    先新建六个文件夹. Consis:启动文件等 Fwlib:inc.src文件夹 Hardware:存放驱动 Mdk:工程文件 User:main函数等

  2. PHP开发 高可用 高安全App后端(免费)

    PHP开发高可用高安全App后端 第1章 本章先讲解课程所含技术点,并演示相关的项目,让小伙伴对课程有个初步的认知,然后再带领小伙伴进行功能的分析,表的ER总关系图 第2章 本章主要讲解课程的一些准备 ...

  3. 关于WebApi的跨域问题

    前端调用我后端接口时出现200,跨域问题 解决方案: 在webconfig中加入以下配置就OK了 <configuration> <system.webServer> < ...

  4. MyBatis返给前端正确的时间格式

    前台获取位时间戳,后端解决办法之一 问题描述:前端获取后台接口返回的数据,时间是long类型的时间戳而不是时间类型2019-09-25 17:07:32 项目: JAVA web 工具:eclipse ...

  5. jenkins离线安装插件的方法(无法访问外网)

    最近项目要迁移环境,无法访问外网,因此jenkins的安装配置需要离线操作,在此记录 jenkins下载安装好之后,跳过插件的安装,新建用户进入jenkins界面,这些前置步骤我在之前的随笔里有写具体 ...

  6. Android adb shell am 命令学习(1)

    am:activity manager 启动Activity,打开或关闭进程,发送广播等操作 为什么学习: 主要应用部分,后台启动对应的package的Activity adb shell am st ...

  7. Maven 梳理 -聚合与继承

    一.聚合 如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合 1.1.聚合配置代码 1 <modules> 2 <module>模块一</module&g ...

  8. Angular 内嵌视图、宿主视图

    解析视图: 内嵌视图 - 连接到模板的嵌入视图,在组件模板元素中添加模板(DOM元素.DOM元素组) 宿主视图 - 连接到组件的嵌入视图,在组件元素中添加别的组件 使用类说明: ElementRef ...

  9. 02-head标签

    head中的标签不会展示在浏览器上,他会将页面的一些额外信息告诉服务器.head标签中包含如下标签: <title>:指定整个网页的标题,在浏览器最上方显示 <meta>:提供 ...

  10. 系统定时任务crond

    1.Linux的定时任务:crond(crontab)服务 (1)crond 是什么? crond 是 linux 系统中用来定期执行命令或者指定程序任务的一种服务和软件:crond 服务默认情况(每 ...