From 0b3011e6efc890a67d032cb7ca2cb8e3d53f5e0c Mon Sep 17 00:00:00 2001 From: JianMiau Date: Mon, 25 Jul 2022 11:11:37 +0800 Subject: [PATCH] [add] First --- .gitignore | 53 + README.md | 200 + assets/Resources.meta | 12 + assets/Resources/effect.meta | 12 + assets/Resources/effect/BlurGauss.effect | 82 + assets/Resources/effect/BlurGauss.effect.meta | 17 + assets/Resources/effect/BlurNormal.effect | 58 + .../Resources/effect/BlurNormal.effect.meta | 17 + assets/Resources/effect/Dissolve.effect | 56 + assets/Resources/effect/Dissolve.effect.meta | 17 + assets/Resources/effect/Glowing.effect | 182 + assets/Resources/effect/Glowing.effect.meta | 17 + assets/Resources/effect/Mosaic.effect | 48 + assets/Resources/effect/Mosaic.effect.meta | 17 + assets/Resources/effect/RadialBlur.effect | 60 + .../Resources/effect/RadialBlur.effect.meta | 17 + assets/Resources/effect/Water.effect | 72 + assets/Resources/effect/Water.effect.meta | 17 + assets/Resources/effect/WaveLight.effect | 82 + assets/Resources/effect/WaveLight.effect.meta | 17 + assets/Resources/material.meta | 12 + assets/Resources/material/BlurGauss.mtl | 13 + assets/Resources/material/BlurGauss.mtl.meta | 6 + assets/Resources/material/BlurNormal.mtl | 17 + assets/Resources/material/BlurNormal.mtl.meta | 6 + assets/Resources/material/Disslove.mtl | 13 + assets/Resources/material/Disslove.mtl.meta | 6 + assets/Resources/material/Glowing.mtl | 26 + assets/Resources/material/Glowing.mtl.meta | 6 + assets/Resources/material/Mosaic.mtl | 18 + assets/Resources/material/Mosaic.mtl.meta | 6 + assets/Resources/material/New Material.mtl | 16 + .../Resources/material/New Material.mtl.meta | 6 + assets/Resources/material/RadialBlur.mtl | 22 + assets/Resources/material/RadialBlur.mtl.meta | 6 + assets/Resources/material/Water.mtl | 18 + assets/Resources/material/Water.mtl.meta | 6 + assets/Resources/material/WaveLight.mtl | 11 + assets/Resources/material/WaveLight.mtl.meta | 6 + assets/Resources/picture.meta | 12 + assets/Resources/picture/Lighting1.png | Bin 0 -> 19623 bytes assets/Resources/picture/Lighting1.png.meta | 36 + assets/Resources/picture/button.png | Bin 0 -> 36225 bytes assets/Resources/picture/button.png.meta | 36 + assets/Resources/picture/card.png | Bin 0 -> 210355 bytes assets/Resources/picture/card.png.meta | 36 + assets/Resources/picture/doge.jpg | Bin 0 -> 8745 bytes assets/Resources/picture/doge.jpg.meta | 36 + assets/Resources/scene.meta | 12 + assets/Resources/scene/main.fire | 1098 + assets/Resources/scene/main.fire.meta | 7 + assets/Resources/script.meta | 12 + assets/Resources/script/ShaderController.ts | 61 + .../Resources/script/ShaderController.ts.meta | 9 + assets/Shader/FluxayTexture.meta | 12 + .../Shader/FluxayTexture/FluxayTexture.effect | 116 + .../FluxayTexture/FluxayTexture.effect.meta | 17 + assets/Shader/FluxayTexture/FluxayTexture.jpg | Bin 0 -> 443325 bytes .../FluxayTexture/FluxayTexture.jpg.meta | 36 + assets/Shader/FluxayTexture/FluxayTexture.mtl | 22 + .../FluxayTexture/FluxayTexture.mtl.meta | 6 + assets/Shader/FluxayTexture/FluxayTexture.ts | 23 + .../FluxayTexture/FluxayTexture.ts.meta | 9 + assets/migration.meta | 12 + assets/migration/use_reversed_rotateTo.js | 13 + .../migration/use_reversed_rotateTo.js.meta | 9 + .../use_v2.1-2.2.1_cc.Toggle_event.js | 17 + .../use_v2.1-2.2.1_cc.Toggle_event.js.meta | 9 + creator.d.ts | 26513 ++++++++++++++++ jsconfig.json | 15 + project.json | 7 + readme_pic/hetucuowu.png | Bin 0 -> 345670 bytes readme_pic/shader.png | Bin 0 -> 30690 bytes settings/project.json | 43 + settings/services.json | 6 + 75 files changed, 29513 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 assets/Resources.meta create mode 100644 assets/Resources/effect.meta create mode 100644 assets/Resources/effect/BlurGauss.effect create mode 100644 assets/Resources/effect/BlurGauss.effect.meta create mode 100644 assets/Resources/effect/BlurNormal.effect create mode 100644 assets/Resources/effect/BlurNormal.effect.meta create mode 100644 assets/Resources/effect/Dissolve.effect create mode 100644 assets/Resources/effect/Dissolve.effect.meta create mode 100644 assets/Resources/effect/Glowing.effect create mode 100644 assets/Resources/effect/Glowing.effect.meta create mode 100644 assets/Resources/effect/Mosaic.effect create mode 100644 assets/Resources/effect/Mosaic.effect.meta create mode 100644 assets/Resources/effect/RadialBlur.effect create mode 100644 assets/Resources/effect/RadialBlur.effect.meta create mode 100644 assets/Resources/effect/Water.effect create mode 100644 assets/Resources/effect/Water.effect.meta create mode 100644 assets/Resources/effect/WaveLight.effect create mode 100644 assets/Resources/effect/WaveLight.effect.meta create mode 100644 assets/Resources/material.meta create mode 100644 assets/Resources/material/BlurGauss.mtl create mode 100644 assets/Resources/material/BlurGauss.mtl.meta create mode 100644 assets/Resources/material/BlurNormal.mtl create mode 100644 assets/Resources/material/BlurNormal.mtl.meta create mode 100644 assets/Resources/material/Disslove.mtl create mode 100644 assets/Resources/material/Disslove.mtl.meta create mode 100644 assets/Resources/material/Glowing.mtl create mode 100644 assets/Resources/material/Glowing.mtl.meta create mode 100644 assets/Resources/material/Mosaic.mtl create mode 100644 assets/Resources/material/Mosaic.mtl.meta create mode 100644 assets/Resources/material/New Material.mtl create mode 100644 assets/Resources/material/New Material.mtl.meta create mode 100644 assets/Resources/material/RadialBlur.mtl create mode 100644 assets/Resources/material/RadialBlur.mtl.meta create mode 100644 assets/Resources/material/Water.mtl create mode 100644 assets/Resources/material/Water.mtl.meta create mode 100644 assets/Resources/material/WaveLight.mtl create mode 100644 assets/Resources/material/WaveLight.mtl.meta create mode 100644 assets/Resources/picture.meta create mode 100644 assets/Resources/picture/Lighting1.png create mode 100644 assets/Resources/picture/Lighting1.png.meta create mode 100644 assets/Resources/picture/button.png create mode 100644 assets/Resources/picture/button.png.meta create mode 100644 assets/Resources/picture/card.png create mode 100644 assets/Resources/picture/card.png.meta create mode 100644 assets/Resources/picture/doge.jpg create mode 100644 assets/Resources/picture/doge.jpg.meta create mode 100644 assets/Resources/scene.meta create mode 100644 assets/Resources/scene/main.fire create mode 100644 assets/Resources/scene/main.fire.meta create mode 100644 assets/Resources/script.meta create mode 100644 assets/Resources/script/ShaderController.ts create mode 100644 assets/Resources/script/ShaderController.ts.meta create mode 100644 assets/Shader/FluxayTexture.meta create mode 100644 assets/Shader/FluxayTexture/FluxayTexture.effect create mode 100644 assets/Shader/FluxayTexture/FluxayTexture.effect.meta create mode 100644 assets/Shader/FluxayTexture/FluxayTexture.jpg create mode 100644 assets/Shader/FluxayTexture/FluxayTexture.jpg.meta create mode 100644 assets/Shader/FluxayTexture/FluxayTexture.mtl create mode 100644 assets/Shader/FluxayTexture/FluxayTexture.mtl.meta create mode 100644 assets/Shader/FluxayTexture/FluxayTexture.ts create mode 100644 assets/Shader/FluxayTexture/FluxayTexture.ts.meta create mode 100644 assets/migration.meta create mode 100644 assets/migration/use_reversed_rotateTo.js create mode 100644 assets/migration/use_reversed_rotateTo.js.meta create mode 100644 assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js create mode 100644 assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js.meta create mode 100644 creator.d.ts create mode 100644 jsconfig.json create mode 100644 project.json create mode 100644 readme_pic/hetucuowu.png create mode 100644 readme_pic/shader.png create mode 100644 settings/project.json create mode 100644 settings/services.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c072d29 --- /dev/null +++ b/.gitignore @@ -0,0 +1,53 @@ +#///////////////////////////////////////////////////////////////////////////// +# Fireball Projects +#///////////////////////////////////////////////////////////////////////////// + +/library/ +/temp/ +/local/ +/build/ + +#///////////////////////////////////////////////////////////////////////////// +# npm files +#///////////////////////////////////////////////////////////////////////////// + +npm-debug.log +node_modules/ + +#///////////////////////////////////////////////////////////////////////////// +# Logs and databases +#///////////////////////////////////////////////////////////////////////////// + +*.log +*.sql +*.sqlite + +#///////////////////////////////////////////////////////////////////////////// +# files for debugger +#///////////////////////////////////////////////////////////////////////////// + +*.sln +*.csproj +*.pidb +*.unityproj +*.suo + +#///////////////////////////////////////////////////////////////////////////// +# OS generated files +#///////////////////////////////////////////////////////////////////////////// + +.DS_Store +ehthumbs.db +Thumbs.db + +#///////////////////////////////////////////////////////////////////////////// +# WebStorm files +#///////////////////////////////////////////////////////////////////////////// + +.idea/ + +#////////////////////////// +# VS Code files +#////////////////////////// + +.vscode/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..aeadc49 --- /dev/null +++ b/README.md @@ -0,0 +1,200 @@ +# Cosos Creator 2.2.X shader 教程 +## 前言 +自己之前要做shader的一些效果,发现cocos相关文档很少,后面在论坛看帖子慢慢摸索了几周,也踩了几个坑耽误了一些功夫 +现在把自己总结的一些笔记和大家分享讨论一下,有什么错误或者不足的欢迎提建议,自己也还是个刚入门的,希望可以帮到一些想着手的童鞋,也算是回馈社区 +## 几个简单的效果 + +[查看demo代码](https://github.com/XuDaFei/CocosCreator-2.2.X-shader-demo) + +![shader使用流程](/readme_pic/shader.png) +## 新建 shader 资源 +### 编辑器中: +在 Creator 中新建所需的 matrial、effect, 并且在 material 中设置对应的 effct 资源 + +### 代码中: +你需要在creator.d.ts 中添加几个接口来防止 ts 报错(不加只是爆红,不影响使用) +```typescript +export class Material extends Asset { + effectAsset: Asset; //材质对应的effect资源 + define(name: string, val: any): void; //设置宏定义 + setProperty(name:string, val: any); //设置变量 + static getBuiltinMaterial(materialUrl: string): Material //获取系统的材质 + { + } +} +export class EffectAsset extends Asset +{ +} +``` +设置材质的接口 +```typescript +/** !#en +Base class for components which supports rendering features. +!#zh +所有支持渲染的组件的基类 */ +export class RenderComponent extends Component +{ + /** !#en The materials used by this render component. + !#zh 渲染组件使用的材质。 */ + sharedMaterials: Material[]; + /** + !#en Get the material by index. + !#zh 根据指定索引获取材质 + @param index index + */ + getMaterial(index: number): Material; + /** + !#en Set the material by index. + !#zh 根据指定索引设置材质 + @param index index + @param material material + */ + setMaterial(index: number,material: Material): void; +} +``` +你可以用上面的几个接口来加载对应 effect 和 material,设置属性,设置对应的材质到对应的组件上 +只要是继承了 RenderComponent 的组件,比如是Sprite, Label, Spine等,都可以设置和获取材质 + +## Effect 资源和 Matrial 资源 +EffectAsset 就是保存我们自己编写的 shader 程序, 在引擎中对应着 EffectAsset 资源, 引擎读取渲染组件中的 effect 配置,并设置 +对应渲染数据后调用WebGL的API进行渲染。 +Creator 2.2 版本已经更新了 effect 文件的格式,关于 Matrial 和 Effect 的可以参考 [Cocos Creator 3D文档](https://docs.cocos.com/creator3d/manual/zh/material-system/overview.html) +这里用一个最简单的栗子来介绍一下 +```yaml +CCEffect %{ + techniques: + - passes: + - vert: vs //指向vert shader + frag: fs //指向frag shader + blendState: //渲染参数 + targets: + - blend: true + rasterizerState: + cullMode: none + properties: //变量,会显示在 material 面板 上 + texture: { value: white } + u_time: { value: 1.0 } +}% + +CCProgram vs %{ //顶点着色器(GLSL 300 es格式) + #include //引用头文件,cc_matViewProj 变换矩阵就是在里面的变量 + precision highp float; //定义精度 + in vec3 a_position; //顶点位置 + in vec2 a_uv0; //uv 坐标 + out vec2 uv0; //插值输出到片元的uv 坐标 + void main () { + gl_Position = cc_matViewProj * vec4(a_position, 1); + uv0 = a_uv0; + } +}% + +CCProgram fs %{ //片元着色器 + precision highp float; //定义精度 + uniform sampler2D texture; //纹理 + uniform ARGS { //除了系统的uniform ,其他uniform 变量都要定义在UBO(统一变量块)内 + //时间 根据时间计算需要丢弃的像素颜色值范围,也就是溶解的范围 + float u_time; + } + in vec2 uv0; + + void main() + { + float time = u_time; + vec4 c = texture2D(texture,uv0); //用纹理和uv坐标采样到对应片元的颜色 + float height = c.g; + if(height < time) + { + //丢弃像素,相当于溶解效果 + discard; + } + if(height < time + 0.1) { + //这里可以对溶解边缘进行一些处理,比如透明度减少等 + c.a = c.a-0.1; + } + //给片元(像素)赋值 + gl_FragColor = c; + } +}% +``` +Material 只需要在编辑器或者代码中设置对应的effect。在初始化和运行的时候设置对应的变量 + +## 运行 +像溶解和流光等效果都需要在运行的代码中更新对应的时间参数,下面也举个小栗子 +```typescript +const {ccclass,property} = cc._decorator; + +@ccclass +export default class ShaderTime extends cc.Component +{ + /**记录时间 */ + private time: number; + /**精灵上的材质 */ + private material: any; + private IsAdd: boolean; + + /**时间参数 */ + @property(cc.Float) + speed: number = 1.0; + + start() + { + this.time = 0; + this.IsAdd = true; + this.material = this.node.getComponent(cc.Sprite).getMaterial(0); //获取材质 + } + + update(dt) + { + this.material.setProperty("u_time",this.time); //设置材质对应的属性 + this.IsAdd ? this.time += dt * this.speed : this.time -= dt * this.speed; + if(this.time > 1.5) + { + this.IsAdd = false; + } + else if(this.time < -0.5) + { + this.IsAdd = true; + } + } +} +``` +## 关于合图导致web和模拟器显示不一致的BUG +![合图错误](/readme_pic/hetucuowu.png) +原因: Cocos 会把小于512*512的碎图自动合图以减少DrawCall,而effect中接收到的uv 坐标是整个合图的uv, 导致需要用到uv坐标的effect在自动合图下显示不正确。 +解决办法: +- 关闭自动合图 +ps: 在Cocos Creator 2.1.3和2.2.0 以上都支持单独取消某个纹理的合图 +- 手动获取当前sprite 的纹理uv坐标传入到effect(无需取消自动合图) +```typescript +//获取UV位置到Effect +let frame = sprite.spriteFrame as any; +let l = 0,r = 0,b = 1,t = 1; +l = frame.uv[0]; +t = frame.uv[5]; +r = frame.uv[6]; +b = frame.uv[3]; +let u_UVoffset = new cc.Vec4(l,t,r,b); +let u_rotated = frame.isRotated() ? 1.0 : 0.0; +this._material.setProperty("u_UVoffset",u_UVoffset); +this._material.setProperty("u_rotated",u_rotated); +//在Effect 中接受u_UVoffset u_rotated 后重新设置UV +vec2 UVnormalize; +UVnormalize.x = (uv0.x-u_UVoffset.x)/(u_UVoffset.z-u_UVoffset.x); +UVnormalize.y = (uv0.y-u_UVoffset.y)/(u_UVoffset.w-u_UVoffset.y); +if(u_rotated > 0.5) +{ + float temp = UVnormalize.x; + UVnormalize.x = UVnormalize.y; + UVnormalize.y = 1.0 - temp; +} +``` + +## 总结 +有了材质和Effect以后,cocos使用shader 更加直观了。 +移植一个需要shader 效果其实也只是在effect文件中设置好变量,修改一下shader 的代码片段语法,最后在代码或面板中设置参数即可 +当然里面可能会有一些不兼容的属性或者一些细节的问题 + +## 学习Shader +- [OpenGL 教程](https://learnopengl-cn.github.io/intro/) 手把手教学,我自己之前也是看这个,良心教程! +- [WebGL 教程](https://webglfundamentals.org/webgl/lessons/zh_cn/) +- [GLSL语法](https://thebookofshaders.com/02/?lan=ch) diff --git a/assets/Resources.meta b/assets/Resources.meta new file mode 100644 index 0000000..e306f8b --- /dev/null +++ b/assets/Resources.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.1.2", + "uuid": "c04aeca1-cbce-4add-9ff9-5dd17296b80b", + "isBundle": false, + "bundleName": "", + "priority": 1, + "compressionType": {}, + "optimizeHotUpdate": {}, + "inlineSpriteFrames": {}, + "isRemoteBundle": {}, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/effect.meta b/assets/Resources/effect.meta new file mode 100644 index 0000000..5512c53 --- /dev/null +++ b/assets/Resources/effect.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.1.2", + "uuid": "d0b017f7-a6cf-4ac2-a7bb-7f12651d3b10", + "isBundle": false, + "bundleName": "", + "priority": 1, + "compressionType": {}, + "optimizeHotUpdate": {}, + "inlineSpriteFrames": {}, + "isRemoteBundle": {}, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/effect/BlurGauss.effect b/assets/Resources/effect/BlurGauss.effect new file mode 100644 index 0000000..0f11489 --- /dev/null +++ b/assets/Resources/effect/BlurGauss.effect @@ -0,0 +1,82 @@ +//高斯模糊效果(在华为P6上不生效) + +CCEffect %{ + techniques: + - passes: + - vert: vs + frag: fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + texture: { value: white } + u_degree: { value: 0.03 } + u_brightness: { value: 1.0 } +}% + +CCProgram vs %{ // 顶点Shader模块开始 + #include + precision highp float; //定义float高精度 + in vec3 a_position; // 顶点Shader 从渲染管道里面获取的顶点信息,使用attribute来修饰; + in vec2 a_uv0; // 纹理坐标; + out vec2 uv0; // 传递给着色Shader,varying 来修饰,进行插值 + void main () { + gl_Position = cc_matViewProj * vec4(a_position, 1); + uv0 = a_uv0; + } +}% + +CCProgram fs %{ + #define repeats 5. //重复次数,值越大模糊质量越高,但性能越低 + precision highp float; + in vec2 uv0; + uniform sampler2D texture; + uniform ARGS{ + float u_degree; //模糊度,外界属性 + float u_brightness; //亮度,外界属性 + }; + + // 应用贴图UV + vec4 draw(vec2 uv) { + return texture2D(texture,uv).rgba; + } + + float grid(float var, float size) { + return floor(var*size)/size; + } + + // 降低亮度 + vec4 dim(vec4 col, float factor) { + return vec4(col.r * factor, col.g * factor, col.b * factor, col.a); + } + + // 随机值 + float rand(vec2 co){ + return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453); + } + + void main() + { + // 模糊贴图 + vec4 blurred_image = vec4(0.); + // 重复采样 + for (float i = 0.; i < repeats; i++) { + // 第一采样点 + vec2 q = vec2(cos(degrees((i/repeats)*360.)),sin(degrees((i/repeats)*360.))) * (rand(vec2(i,uv0.x+uv0.y))+u_degree); + vec2 uv2 = uv0+(q*u_degree); + blurred_image += draw(uv2)/2.; + // 第二采样点 + q = vec2(cos(degrees((i/repeats)*360.)),sin(degrees((i/repeats)*360.))) * (rand(vec2(i+2.,uv0.x+uv0.y+24.))+u_degree); + uv2 = uv0+(q*u_degree); + blurred_image += draw(uv2)/2.; + } + // 中和 + blurred_image /= repeats; + // 降低亮度 + blurred_image = dim(blurred_image, u_brightness); + // 导出颜色 + gl_FragColor = vec4(blurred_image); + } +}% diff --git a/assets/Resources/effect/BlurGauss.effect.meta b/assets/Resources/effect/BlurGauss.effect.meta new file mode 100644 index 0000000..73a1c26 --- /dev/null +++ b/assets/Resources/effect/BlurGauss.effect.meta @@ -0,0 +1,17 @@ +{ + "ver": "1.0.25", + "uuid": "d64b960e-910a-4f6a-a413-b37932350ea6", + "compiledShaders": [ + { + "glsl1": { + "vert": "uniform mat4 cc_matViewProj;\nprecision highp float;\nattribute vec3 a_position;\nattribute vec2 a_uv0;\nvarying vec2 uv0;\nvoid main () {\n gl_Position = cc_matViewProj * vec4(a_position, 1);\n uv0 = a_uv0;\n}", + "frag": "\nprecision highp float;\nvarying vec2 uv0;\nuniform sampler2D texture;\nuniform float u_degree;\nuniform float u_brightness;\nvec4 draw(vec2 uv) {\n return texture2D(texture,uv).rgba;\n}\nvec4 dim(vec4 col, float factor) {\n return vec4(col.r * factor, col.g * factor, col.b * factor, col.a);\n}\nfloat rand(vec2 co){\n return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);\n}\nvoid main()\n{\n vec4 blurred_image = vec4(0.);\n for (float i = 0.; i < 5.; i++) {\n vec2 q = vec2(cos(degrees((i/5.)*360.)),sin(degrees((i/5.)*360.))) * (rand(vec2(i,uv0.x+uv0.y))+u_degree);\n vec2 uv2 = uv0+(q*u_degree);\n blurred_image += draw(uv2)/2.;\n q = vec2(cos(degrees((i/5.)*360.)),sin(degrees((i/5.)*360.))) * (rand(vec2(i+2.,uv0.x+uv0.y+24.))+u_degree);\n uv2 = uv0+(q*u_degree);\n blurred_image += draw(uv2)/2.;\n }\n blurred_image /= 5.;\n blurred_image = dim(blurred_image, u_brightness);\n gl_FragColor = vec4(blurred_image);\n}" + }, + "glsl3": { + "vert": "uniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nprecision highp float;\nin vec3 a_position;\nin vec2 a_uv0;\nout vec2 uv0;\nvoid main () {\n gl_Position = cc_matViewProj * vec4(a_position, 1);\n uv0 = a_uv0;\n}", + "frag": "\nprecision highp float;\nin vec2 uv0;\nuniform sampler2D texture;\nuniform ARGS{\n float u_degree;\n float u_brightness;\n};\nvec4 draw(vec2 uv) {\n return texture2D(texture,uv).rgba;\n}\nvec4 dim(vec4 col, float factor) {\n return vec4(col.r * factor, col.g * factor, col.b * factor, col.a);\n}\nfloat rand(vec2 co){\n return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);\n}\nvoid main()\n{\n vec4 blurred_image = vec4(0.);\n for (float i = 0.; i < 5.; i++) {\n vec2 q = vec2(cos(degrees((i/5.)*360.)),sin(degrees((i/5.)*360.))) * (rand(vec2(i,uv0.x+uv0.y))+u_degree);\n vec2 uv2 = uv0+(q*u_degree);\n blurred_image += draw(uv2)/2.;\n q = vec2(cos(degrees((i/5.)*360.)),sin(degrees((i/5.)*360.))) * (rand(vec2(i+2.,uv0.x+uv0.y+24.))+u_degree);\n uv2 = uv0+(q*u_degree);\n blurred_image += draw(uv2)/2.;\n }\n blurred_image /= 5.;\n blurred_image = dim(blurred_image, u_brightness);\n gl_FragColor = vec4(blurred_image);\n}" + } + } + ], + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/effect/BlurNormal.effect b/assets/Resources/effect/BlurNormal.effect new file mode 100644 index 0000000..c613c6b --- /dev/null +++ b/assets/Resources/effect/BlurNormal.effect @@ -0,0 +1,58 @@ +//高斯模糊2 + +CCEffect %{ + techniques: + - passes: + - vert: vs + frag: fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + texture: { value: white } + u_resolution: { value: [1280,720] } +}% + +CCProgram vs %{ + #include + precision highp float; // 定义float高精度 + in vec3 a_position; // 顶点Shader 从渲染管道里面获取的顶点信息,使用attribute来修饰; + in vec2 a_uv0; // 纹理坐标; + out vec2 uv0; // 传递给着色Shader,varying 来修饰,进行插值 + void main () { + vec4 pos = cc_matViewProj * vec4(a_position, 1); + gl_Position = pos; + uv0 = a_uv0; + } +}% + +CCProgram fs %{ + precision mediump float; + in vec2 uv0; + uniform sampler2D texture; + uniform ARGS { + vec2 u_resolution; + float strength; + }; + const float blurRadius = 7.0; + void main() + { + vec2 unit = 1.0 / u_resolution; //单位坐标 + vec3 sumColor = vec3(0.0, 0.0, 0.0); + float count = 0.0; + vec4 col = vec4(0.0); + for(float fy = -blurRadius; fy <= blurRadius; ++fy) + { + for(float fx = -blurRadius; fx <= blurRadius; ++fx) + { + float weight = (blurRadius - abs(fx)) * (blurRadius - abs(fy)); //权重,p点的权重最高,向四周依次减少 + col += texture2D(texture, uv0 + vec2(fx * unit.x, fy * unit.y)) * weight; + count += weight; + } + } + col.a = texture2D(texture, uv0).a; + gl_FragColor = vec4(col.rgb / count, col.a); + } +}% diff --git a/assets/Resources/effect/BlurNormal.effect.meta b/assets/Resources/effect/BlurNormal.effect.meta new file mode 100644 index 0000000..c40f597 --- /dev/null +++ b/assets/Resources/effect/BlurNormal.effect.meta @@ -0,0 +1,17 @@ +{ + "ver": "1.0.25", + "uuid": "14e64f7c-87c8-459a-ad37-6c773ceea4e6", + "compiledShaders": [ + { + "glsl1": { + "vert": "uniform mat4 cc_matViewProj;\nprecision highp float;\nattribute vec3 a_position;\nattribute vec2 a_uv0;\nvarying vec2 uv0;\nvoid main () {\n vec4 pos = cc_matViewProj * vec4(a_position, 1);\n gl_Position = pos;\n uv0 = a_uv0;\n}", + "frag": "\nprecision mediump float;\nvarying vec2 uv0;\nuniform sampler2D texture;\nuniform vec2 u_resolution;\nconst float blurRadius = 7.0;\nvoid main()\n{\n vec2 unit = 1.0 / u_resolution;\n vec3 sumColor = vec3(0.0, 0.0, 0.0);\n float count = 0.0;\n vec4 col = vec4(0.0);\n for(float fy = -blurRadius; fy <= blurRadius; ++fy)\n {\n for(float fx = -blurRadius; fx <= blurRadius; ++fx)\n {\n float weight = (blurRadius - abs(fx)) * (blurRadius - abs(fy));\n col += texture2D(texture, uv0 + vec2(fx * unit.x, fy * unit.y)) * weight;\n count += weight;\n }\n }\n col.a = texture2D(texture, uv0).a;\n gl_FragColor = vec4(col.rgb / count, col.a);\n}" + }, + "glsl3": { + "vert": "uniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nprecision highp float;\nin vec3 a_position;\nin vec2 a_uv0;\nout vec2 uv0;\nvoid main () {\n vec4 pos = cc_matViewProj * vec4(a_position, 1);\n gl_Position = pos;\n uv0 = a_uv0;\n}", + "frag": "\nprecision mediump float;\nin vec2 uv0;\nuniform sampler2D texture;\nuniform ARGS {\n vec2 u_resolution;\n float strength;\n};\nconst float blurRadius = 7.0;\nvoid main()\n{\n vec2 unit = 1.0 / u_resolution;\n vec3 sumColor = vec3(0.0, 0.0, 0.0);\n float count = 0.0;\n vec4 col = vec4(0.0);\n for(float fy = -blurRadius; fy <= blurRadius; ++fy)\n {\n for(float fx = -blurRadius; fx <= blurRadius; ++fx)\n {\n float weight = (blurRadius - abs(fx)) * (blurRadius - abs(fy));\n col += texture2D(texture, uv0 + vec2(fx * unit.x, fy * unit.y)) * weight;\n count += weight;\n }\n }\n col.a = texture2D(texture, uv0).a;\n gl_FragColor = vec4(col.rgb / count, col.a);\n}" + } + } + ], + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/effect/Dissolve.effect b/assets/Resources/effect/Dissolve.effect new file mode 100644 index 0000000..b962501 --- /dev/null +++ b/assets/Resources/effect/Dissolve.effect @@ -0,0 +1,56 @@ +//溶解特效 + + CCEffect %{ + techniques: + - passes: + - vert: vs + frag: fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + texture: { value: white } + u_time: { value: 1.0 } +}% + +CCProgram vs %{ + #include + precision highp float; + in vec3 a_position; + in vec2 a_uv0; + out vec2 uv0; + void main () { + gl_Position = cc_matViewProj * vec4(a_position, 1); + uv0 = a_uv0; + } +}% + +CCProgram fs %{ + precision highp float; //定义高精度 + uniform sampler2D texture; //纹理 + uniform ARGS { + //时间 根据时间计算需要丢弃的像素颜色值范围,也就是溶解的范围 + float u_time; + }; + in vec2 uv0; + + void main() + { + float time = u_time; + vec4 c = texture2D(texture,uv0); + float height = c.g; + if(height < time) + { + //丢弃像素,相当于溶解效果 + discard; + } + if(height < time + 0.1) { + //这里可以对溶解边缘进行一些处理,比如透明度减少等 + c.a = c.a-0.1; + } + //给片元(像素)赋值 + gl_FragColor = c; + } +}% \ No newline at end of file diff --git a/assets/Resources/effect/Dissolve.effect.meta b/assets/Resources/effect/Dissolve.effect.meta new file mode 100644 index 0000000..a80d9f6 --- /dev/null +++ b/assets/Resources/effect/Dissolve.effect.meta @@ -0,0 +1,17 @@ +{ + "ver": "1.0.25", + "uuid": "ed4b64c1-0535-4ae5-9648-4acb0a4c0fd8", + "compiledShaders": [ + { + "glsl1": { + "vert": "uniform mat4 cc_matViewProj;\nprecision highp float;\n attribute vec3 a_position;\n attribute vec2 a_uv0;\n varying vec2 uv0;\n void main () {\n gl_Position = cc_matViewProj * vec4(a_position, 1);\n uv0 = a_uv0;\n }", + "frag": "\nprecision highp float;\nuniform sampler2D texture;\nuniform float u_time;\nvarying vec2 uv0;\nvoid main()\n{\n float time = u_time;\n vec4 c = texture2D(texture,uv0);\n float height = c.g;\n if(height < time)\n {\n discard;\n }\n if(height < time + 0.1) {\n c.a = c.a-0.1;\n }\n gl_FragColor = c;\n}" + }, + "glsl3": { + "vert": "uniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nprecision highp float;\n in vec3 a_position;\n in vec2 a_uv0;\n out vec2 uv0;\n void main () {\n gl_Position = cc_matViewProj * vec4(a_position, 1);\n uv0 = a_uv0;\n }", + "frag": "\nprecision highp float;\nuniform sampler2D texture;\nuniform ARGS {\n float u_time;\n};\nin vec2 uv0;\nvoid main()\n{\n float time = u_time;\n vec4 c = texture2D(texture,uv0);\n float height = c.g;\n if(height < time)\n {\n discard;\n }\n if(height < time + 0.1) {\n c.a = c.a-0.1;\n }\n gl_FragColor = c;\n}" + } + } + ], + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/effect/Glowing.effect b/assets/Resources/effect/Glowing.effect new file mode 100644 index 0000000..0877ae5 --- /dev/null +++ b/assets/Resources/effect/Glowing.effect @@ -0,0 +1,182 @@ +//外发光效果 + +CCEffect %{ + techniques: + - passes: + - vert: vs + frag: fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + texture: { value: white } + u_edge: { value: 0.5 } + u_offset: { value: 0.01 } + u_edgeBlur: { value: 0.01 } + u_mixColor: { value: [1, 1, 1, 1], inspector: { type: color } } + u_edgeColor: { value: [1, 1, 1, 0], inspector: { type: color } } +}% + +CCProgram vs %{ + #include + precision highp float; + in vec4 a_position; + in vec2 a_uv0; + out vec2 uv0; + void main() + { + gl_Position = cc_matViewProj * a_position; + uv0 = a_uv0; + } +}% + +CCProgram fs %{ + precision highp float; + in vec2 uv0; + uniform sampler2D texture; + uniform ARGS{ + vec4 u_mixColor; + float u_edge; + }; + +// 是否边缘羽化 +#if IS_Edge_Blur + uniform ARGS1{ + float u_edgeBlur; + }; +#endif + +// 是否边缘发光(不要和羽化一起使用,会有边) +#if IS_EdgeGlowing + uniform ARGS2{ + float u_offset; + }; +#endif + +// 是否使用边缘颜色 +#if USE_EDGE_COLOR + uniform ARGS3{ + vec4 u_edgeColor; + }; +#endif + + +// 应用贴图颜色 画圆 +vec4 drawCircle() { + float edge = u_edge; + float dis = 0.0; + + float offset = 0.0; + vec2 uv = uv0; + +// 是否边缘发光 +#if IS_EdgeGlowing + offset = u_offset; + uv = vec2(0.5 + (uv0.x - 0.5) * ((offset*2.0) + 1.0), 0.5 + (uv0.y - 0.5) * ((offset*2.0) + 1.0)); +#endif + + if ( uv.x < edge ) + { + if ( uv.y < edge ) + { + dis = distance( uv, vec2(edge, edge) ); + } + if ( uv.y > (1.0 - edge) ) + { + dis = distance( uv, vec2(edge, (1.0 - edge)) ); + } + } + else if ( uv.x > (1.0 - edge) ) + { + if ( uv.y < edge ) + { + dis = distance( uv, vec2((1.0 - edge), edge ) ); + } + if ( uv.y > (1.0 - edge) ) + { + dis = distance( uv, vec2((1.0 - edge), (1.0 - edge) ) ); + } + } + + // 混合外边颜色 + vec4 color = u_mixColor * texture2D(texture,uv); + // 边缘颜色 + vec4 edge_color = color; + // 边缘羽化,默认0.01,减少抗锯齿 + float blur = 0.0; + // 是否边缘羽化 + #if IS_Edge_Blur + blur = u_edgeBlur; + #endif + + // 如果有外部颜色,重新定义 边缘颜色 + #if USE_EDGE_COLOR + // 如果应用贴图颜色混合 + #if USER_TEXTURE_COLOR + edge_color = u_edgeColor * texture2D(texture,uv); + #else + edge_color = u_edgeColor; + #endif + #endif + + if(dis > 0.001) + { + // 外圈沟 + float gap = edge * blur; + if(dis <= edge - gap) + { + color = color; + } + else if(dis <= edge) + { + // 平滑过渡: ret smoothstep(a, b, x) 可以用来生成0到1的平滑过渡. + float t = smoothstep(0.,gap,edge-dis); + + // 边缘颜色和透明度 + color = vec4(edge_color.rgb,t * edge_color.a); + }else{ + // 隐藏不要的部分 + + // 是否边缘发光 + #if IS_EdgeGlowing + color = vec4(edge_color.rgb, (offset - (dis - edge))/offset); + #else + color = vec4(edge_color.rgb,0.); + #endif + } + } + else + { + // 是否边缘发光 + #if IS_EdgeGlowing + float absX = abs(uv.x - 0.5); + if(absX > 0.5) + { + color = vec4( edge_color.rgb, (offset - (absX - 0.5))/offset); + } + else + { + float absY = abs(uv.y - 0.5); + if (absY > 0.5){ + color = vec4( edge_color.rgb, (offset - (absX - 0.5))/offset); + } + else{ + color = color; + } + } + #else + color = color; + #endif + } + return color; +} + + + void main() + { + vec4 color = drawCircle(); + gl_FragColor = color; + } +}% diff --git a/assets/Resources/effect/Glowing.effect.meta b/assets/Resources/effect/Glowing.effect.meta new file mode 100644 index 0000000..f580d12 --- /dev/null +++ b/assets/Resources/effect/Glowing.effect.meta @@ -0,0 +1,17 @@ +{ + "ver": "1.0.25", + "uuid": "0f9457ac-e49b-4ec4-bd74-11b0eabbdb4d", + "compiledShaders": [ + { + "glsl1": { + "vert": "uniform mat4 cc_matViewProj;\nprecision highp float;\nattribute vec4 a_position;\nattribute vec2 a_uv0;\nvarying vec2 uv0;\nvoid main()\n{\n gl_Position = cc_matViewProj * a_position;\n uv0 = a_uv0;\n}", + "frag": "\n precision highp float;\n varying vec2 uv0;\n uniform sampler2D texture;\n uniform vec4 u_mixColor;\nuniform float u_edge;\n#if IS_Edge_Blur\n uniform float u_edgeBlur;\n#endif\n#if IS_EdgeGlowing\n uniform float u_offset;\n#endif\n#if USE_EDGE_COLOR\n uniform vec4 u_edgeColor;\n#endif\nvec4 drawCircle() {\n float edge = u_edge;\n float dis = 0.0;\n float offset = 0.0;\n vec2 uv = uv0;\n#if IS_EdgeGlowing\n offset = u_offset;\n uv = vec2(0.5 + (uv0.x - 0.5) * ((offset*2.0) + 1.0), 0.5 + (uv0.y - 0.5) * ((offset*2.0) + 1.0));\n#endif\n if ( uv.x < edge )\n {\n if ( uv.y < edge )\n {\n dis = distance( uv, vec2(edge, edge) );\n }\n if ( uv.y > (1.0 - edge) )\n {\n dis = distance( uv, vec2(edge, (1.0 - edge)) );\n }\n }\n else if ( uv.x > (1.0 - edge) )\n {\n if ( uv.y < edge )\n {\n dis = distance( uv, vec2((1.0 - edge), edge ) );\n }\n if ( uv.y > (1.0 - edge) )\n {\n dis = distance( uv, vec2((1.0 - edge), (1.0 - edge) ) );\n }\n }\n vec4 color = u_mixColor * texture2D(texture,uv);\n vec4 edge_color = color;\n float blur = 0.0;\n #if IS_Edge_Blur\n blur = u_edgeBlur;\n #endif\n #if USE_EDGE_COLOR\n #if USER_TEXTURE_COLOR\n edge_color = u_edgeColor * texture2D(texture,uv);\n #else\n edge_color = u_edgeColor;\n #endif\n #endif\n if(dis > 0.001)\n {\n float gap = edge * blur;\n if(dis <= edge - gap)\n {\n color = color;\n }\n else if(dis <= edge)\n {\n float t = smoothstep(0.,gap,edge-dis);\n color = vec4(edge_color.rgb,t * edge_color.a);\n }else{\n #if IS_EdgeGlowing\n color = vec4(edge_color.rgb, (offset - (dis - edge))/offset);\n #else\n color = vec4(edge_color.rgb,0.);\n #endif\n }\n }\n else\n {\n #if IS_EdgeGlowing\n float absX = abs(uv.x - 0.5);\n if(absX > 0.5)\n {\n color = vec4( edge_color.rgb, (offset - (absX - 0.5))/offset);\n }\n else\n {\n float absY = abs(uv.y - 0.5);\n if (absY > 0.5){\n color = vec4( edge_color.rgb, (offset - (absX - 0.5))/offset);\n }\n else{\n color = color;\n }\n }\n #else\n color = color;\n #endif\n }\n return color;\n}\n void main()\n {\n vec4 color = drawCircle();\n gl_FragColor = color;\n }" + }, + "glsl3": { + "vert": "uniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nprecision highp float;\nin vec4 a_position;\nin vec2 a_uv0;\nout vec2 uv0;\nvoid main()\n{\n gl_Position = cc_matViewProj * a_position;\n uv0 = a_uv0;\n}", + "frag": "\n precision highp float;\n in vec2 uv0;\n uniform sampler2D texture;\n uniform ARGS{\n vec4 u_mixColor;\n float u_edge;\n };\n#if IS_Edge_Blur\n uniform ARGS1{\n float u_edgeBlur;\n };\n#endif\n#if IS_EdgeGlowing\n uniform ARGS2{\n float u_offset;\n };\n#endif\n#if USE_EDGE_COLOR\n uniform ARGS3{\n vec4 u_edgeColor;\n };\n#endif\nvec4 drawCircle() {\n float edge = u_edge;\n float dis = 0.0;\n float offset = 0.0;\n vec2 uv = uv0;\n#if IS_EdgeGlowing\n offset = u_offset;\n uv = vec2(0.5 + (uv0.x - 0.5) * ((offset*2.0) + 1.0), 0.5 + (uv0.y - 0.5) * ((offset*2.0) + 1.0));\n#endif\n if ( uv.x < edge )\n {\n if ( uv.y < edge )\n {\n dis = distance( uv, vec2(edge, edge) );\n }\n if ( uv.y > (1.0 - edge) )\n {\n dis = distance( uv, vec2(edge, (1.0 - edge)) );\n }\n }\n else if ( uv.x > (1.0 - edge) )\n {\n if ( uv.y < edge )\n {\n dis = distance( uv, vec2((1.0 - edge), edge ) );\n }\n if ( uv.y > (1.0 - edge) )\n {\n dis = distance( uv, vec2((1.0 - edge), (1.0 - edge) ) );\n }\n }\n vec4 color = u_mixColor * texture2D(texture,uv);\n vec4 edge_color = color;\n float blur = 0.0;\n #if IS_Edge_Blur\n blur = u_edgeBlur;\n #endif\n #if USE_EDGE_COLOR\n #if USER_TEXTURE_COLOR\n edge_color = u_edgeColor * texture2D(texture,uv);\n #else\n edge_color = u_edgeColor;\n #endif\n #endif\n if(dis > 0.001)\n {\n float gap = edge * blur;\n if(dis <= edge - gap)\n {\n color = color;\n }\n else if(dis <= edge)\n {\n float t = smoothstep(0.,gap,edge-dis);\n color = vec4(edge_color.rgb,t * edge_color.a);\n }else{\n #if IS_EdgeGlowing\n color = vec4(edge_color.rgb, (offset - (dis - edge))/offset);\n #else\n color = vec4(edge_color.rgb,0.);\n #endif\n }\n }\n else\n {\n #if IS_EdgeGlowing\n float absX = abs(uv.x - 0.5);\n if(absX > 0.5)\n {\n color = vec4( edge_color.rgb, (offset - (absX - 0.5))/offset);\n }\n else\n {\n float absY = abs(uv.y - 0.5);\n if (absY > 0.5){\n color = vec4( edge_color.rgb, (offset - (absX - 0.5))/offset);\n }\n else{\n color = color;\n }\n }\n #else\n color = color;\n #endif\n }\n return color;\n}\n void main()\n {\n vec4 color = drawCircle();\n gl_FragColor = color;\n }" + } + } + ], + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/effect/Mosaic.effect b/assets/Resources/effect/Mosaic.effect new file mode 100644 index 0000000..dd03469 --- /dev/null +++ b/assets/Resources/effect/Mosaic.effect @@ -0,0 +1,48 @@ +//马赛克 + +CCEffect %{ + techniques: + - passes: + - vert: vs + frag: fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + texture: { value: white } + u_resolution: { value: [1280,720] } + u_mosaicSize: { value: 12 } +}% + +CCProgram vs %{ + #include + precision highp float; + in vec3 a_position; + in vec2 a_uv0; + out vec2 uv0; + void main () { + gl_Position = cc_matViewProj * vec4(a_position, 1); + uv0 = a_uv0; + } +}% + +CCProgram fs %{ + precision highp float; + in vec2 uv0; + uniform sampler2D texture; + uniform ARGS { + vec2 u_resolution; + float u_mosaicSize; + }; + void main(void) + { + vec4 color; + vec2 xy = vec2(uv0.x * u_resolution.x, uv0.y * u_resolution.y); + vec2 xyMosaic = vec2(floor(xy.x / u_mosaicSize) * u_mosaicSize, floor(xy.y / u_mosaicSize) * u_mosaicSize); + vec2 uvMosaic = vec2(xyMosaic.x / u_resolution.x, xyMosaic.y / u_resolution.y); + color = texture2D( texture, uvMosaic); + gl_FragColor = color; + } +}% diff --git a/assets/Resources/effect/Mosaic.effect.meta b/assets/Resources/effect/Mosaic.effect.meta new file mode 100644 index 0000000..7f30225 --- /dev/null +++ b/assets/Resources/effect/Mosaic.effect.meta @@ -0,0 +1,17 @@ +{ + "ver": "1.0.25", + "uuid": "8b12cd41-6673-45b2-8e81-f77078e331b4", + "compiledShaders": [ + { + "glsl1": { + "vert": "uniform mat4 cc_matViewProj;\nprecision highp float;\nattribute vec3 a_position;\nattribute vec2 a_uv0;\nvarying vec2 uv0;\nvoid main () {\n gl_Position = cc_matViewProj * vec4(a_position, 1);\n uv0 = a_uv0;\n}", + "frag": "\nprecision highp float;\nvarying vec2 uv0;\nuniform sampler2D texture;\nuniform vec2 u_resolution;\nuniform float u_mosaicSize;\nvoid main(void)\n{\n vec4 color;\n vec2 xy = vec2(uv0.x * u_resolution.x, uv0.y * u_resolution.y);\n vec2 xyMosaic = vec2(floor(xy.x / u_mosaicSize) * u_mosaicSize, floor(xy.y / u_mosaicSize) * u_mosaicSize);\n vec2 uvMosaic = vec2(xyMosaic.x / u_resolution.x, xyMosaic.y / u_resolution.y);\n color = texture2D( texture, uvMosaic);\n gl_FragColor = color;\n}" + }, + "glsl3": { + "vert": "uniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nprecision highp float;\nin vec3 a_position;\nin vec2 a_uv0;\nout vec2 uv0;\nvoid main () {\n gl_Position = cc_matViewProj * vec4(a_position, 1);\n uv0 = a_uv0;\n}", + "frag": "\nprecision highp float;\nin vec2 uv0;\nuniform sampler2D texture;\nuniform ARGS {\n vec2 u_resolution;\n float u_mosaicSize;\n};\nvoid main(void)\n{\n vec4 color;\n vec2 xy = vec2(uv0.x * u_resolution.x, uv0.y * u_resolution.y);\n vec2 xyMosaic = vec2(floor(xy.x / u_mosaicSize) * u_mosaicSize, floor(xy.y / u_mosaicSize) * u_mosaicSize);\n vec2 uvMosaic = vec2(xyMosaic.x / u_resolution.x, xyMosaic.y / u_resolution.y);\n color = texture2D( texture, uvMosaic);\n gl_FragColor = color;\n}" + } + } + ], + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/effect/RadialBlur.effect b/assets/Resources/effect/RadialBlur.effect new file mode 100644 index 0000000..67eb5fa --- /dev/null +++ b/assets/Resources/effect/RadialBlur.effect @@ -0,0 +1,60 @@ +//径向模糊 + +CCEffect %{ + techniques: + - passes: + - vert: vs + frag: fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + texture: { value: white } + u_point: { value: [0.5, 0.5] } + u_resolution: { value: [1280, 720] } + u_Strength: { value: 0.125 } +}% + +CCProgram vs %{ // 顶点Shader模块开始 + #include + precision highp float; //定义float高精度 + in vec3 a_position; // 顶点Shader 从渲染管道里面获取的顶点信息,使用attribute来修饰; + in vec2 a_uv0; // 纹理坐标; + out vec2 uv0; // 传递给着色Shader,varying 来修饰,进行插值 + void main () { + gl_Position = cc_matViewProj * vec4(a_position, 1); + uv0 = a_uv0; + } +}% + +CCProgram fs %{ + precision highp float; + in vec2 uv0; + uniform sampler2D texture; + uniform ARGS{ + vec2 u_resolution; + vec2 u_point; + float u_Strength; + }; + void mainImage( out vec4 fragColor, in vec2 fragCoord ) + { + // const float u_Strength = 0.125; + const int Samples = 64; //multiple of 2 + vec2 uv = fragCoord.xy; + vec2 dir = (fragCoord.xy-u_point.xy); + vec4 color = vec4(0.0,0.0,0.0,0.0); + for (int i = 0; i < Samples; i += 2) //operating at 2 samples for better performance + { + color += texture2D(texture,uv+float(i)/float(Samples)*dir*u_Strength); + color += texture2D(texture,uv+float(i+1)/float(Samples)*dir*u_Strength); + } + fragColor = color/float(Samples); + } + + void main(void) + { + mainImage(gl_FragColor, uv0); + } +}% diff --git a/assets/Resources/effect/RadialBlur.effect.meta b/assets/Resources/effect/RadialBlur.effect.meta new file mode 100644 index 0000000..3828a0c --- /dev/null +++ b/assets/Resources/effect/RadialBlur.effect.meta @@ -0,0 +1,17 @@ +{ + "ver": "1.0.25", + "uuid": "9d24dc19-8d72-483a-903d-914ccf86f169", + "compiledShaders": [ + { + "glsl1": { + "vert": "uniform mat4 cc_matViewProj;\nprecision highp float;\nattribute vec3 a_position;\nattribute vec2 a_uv0;\nvarying vec2 uv0;\nvoid main () {\n gl_Position = cc_matViewProj * vec4(a_position, 1);\n uv0 = a_uv0;\n}", + "frag": "\nprecision highp float;\nvarying vec2 uv0;\nuniform sampler2D texture;\nuniform vec2 u_point;\nuniform float u_Strength;\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n const int Samples = 64;\n vec2 uv = fragCoord.xy;\n vec2 dir = (fragCoord.xy-u_point.xy);\n vec4 color = vec4(0.0,0.0,0.0,0.0);\n for (int i = 0; i < Samples; i += 2)\n {\n color += texture2D(texture,uv+float(i)/float(Samples)*dir*u_Strength);\n color += texture2D(texture,uv+float(i+1)/float(Samples)*dir*u_Strength);\n }\n fragColor = color/float(Samples);\n}\nvoid main(void)\n{\n mainImage(gl_FragColor, uv0);\n}" + }, + "glsl3": { + "vert": "uniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nprecision highp float;\nin vec3 a_position;\nin vec2 a_uv0;\nout vec2 uv0;\nvoid main () {\n gl_Position = cc_matViewProj * vec4(a_position, 1);\n uv0 = a_uv0;\n}", + "frag": "\nprecision highp float;\nin vec2 uv0;\nuniform sampler2D texture;\nuniform ARGS{\n vec2 u_resolution;\n vec2 u_point;\n float u_Strength;\n};\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n const int Samples = 64;\n vec2 uv = fragCoord.xy;\n vec2 dir = (fragCoord.xy-u_point.xy);\n vec4 color = vec4(0.0,0.0,0.0,0.0);\n for (int i = 0; i < Samples; i += 2)\n {\n color += texture2D(texture,uv+float(i)/float(Samples)*dir*u_Strength);\n color += texture2D(texture,uv+float(i+1)/float(Samples)*dir*u_Strength);\n }\n fragColor = color/float(Samples);\n}\nvoid main(void)\n{\n mainImage(gl_FragColor, uv0);\n}" + } + } + ], + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/effect/Water.effect b/assets/Resources/effect/Water.effect new file mode 100644 index 0000000..7b6849e --- /dev/null +++ b/assets/Resources/effect/Water.effect @@ -0,0 +1,72 @@ +//水波纹效果 +CCEffect %{ + techniques: + - passes: + - vert: vs + frag: fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + texture: { value: white } + u_resolution: { value: [1280,720] } + u_time: { value: 1.0 } +}% + +CCProgram vs %{ // 顶点Shader模块开始 + #include + precision highp float; //定义float高精度 + in vec3 a_position; // 顶点Shader 从渲染管道里面获取的顶点信息,使用attribute来修饰; + in vec2 a_uv0; // 纹理坐标; + out vec2 uv0; // 传递给着色Shader,varying 来修饰,进行插值 + void main () { + gl_Position = cc_matViewProj * vec4(a_position, 1); + uv0 = a_uv0; + } +}% + +CCProgram fs %{ + precision highp float; + in vec2 uv0; + uniform sampler2D texture; + uniform ARGS { + vec4 UVoffset; + vec2 u_resolution; + float u_time; + float rotated; + }; + + #define F cos(x-y)*cos(y),sin(x+y)*sin(y) + + vec2 s(vec2 p) + { + float d=u_time*0.2,x=8.*(p.x+d),y=8.*(p.y+d); + return vec2(F); + } + void mainImage( out vec4 fragColor, in vec2 fragCoord ) + { + // 换成resolution + vec2 rs = u_resolution.xy; + // 换成纹理坐标v_texCoord.xy + vec2 uv = fragCoord; + vec2 q = uv+2./u_resolution.x*(s(uv)-s(uv+rs)); + //反转y + //q.y=1.-q.y; + fragColor = texture2D(texture, q); + } + void main() + { + vec2 UVnormalize; + UVnormalize.x = (uv0.x-UVoffset.x)/(UVoffset.z-UVoffset.x); + UVnormalize.y = (uv0.y-UVoffset.y)/(UVoffset.w-UVoffset.y); + if(rotated > 0.5) + { + float temp = UVnormalize.x; + UVnormalize.x = UVnormalize.y; + UVnormalize.y = 1.0 - temp; + } + mainImage(gl_FragColor, uv0.xy); + } +}% diff --git a/assets/Resources/effect/Water.effect.meta b/assets/Resources/effect/Water.effect.meta new file mode 100644 index 0000000..c83bc4e --- /dev/null +++ b/assets/Resources/effect/Water.effect.meta @@ -0,0 +1,17 @@ +{ + "ver": "1.0.25", + "uuid": "7d5495a0-26aa-4858-a9db-37507aff7ba4", + "compiledShaders": [ + { + "glsl1": { + "vert": "uniform mat4 cc_matViewProj;\nprecision highp float;\nattribute vec3 a_position;\nattribute vec2 a_uv0;\nvarying vec2 uv0;\nvoid main () {\n gl_Position = cc_matViewProj * vec4(a_position, 1);\n uv0 = a_uv0;\n}", + "frag": "\nprecision highp float;\nvarying vec2 uv0;\nuniform sampler2D texture;\nuniform vec4 UVoffset;\nuniform vec2 u_resolution;\nuniform float u_time;\nuniform float rotated;\nvec2 s(vec2 p)\n{\n float d=u_time*0.2,x=8.*(p.x+d),y=8.*(p.y+d);\n return vec2(cos(x-y)*cos(y),sin(x+y)*sin(y));\n}\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n vec2 rs = u_resolution.xy;\n vec2 uv = fragCoord;\n vec2 q = uv+2./u_resolution.x*(s(uv)-s(uv+rs));\n fragColor = texture2D(texture, q);\n}\nvoid main()\n{\n vec2 UVnormalize;\n UVnormalize.x = (uv0.x-UVoffset.x)/(UVoffset.z-UVoffset.x);\n UVnormalize.y = (uv0.y-UVoffset.y)/(UVoffset.w-UVoffset.y);\n if(rotated > 0.5)\n {\n float temp = UVnormalize.x;\n UVnormalize.x = UVnormalize.y;\n UVnormalize.y = 1.0 - temp;\n }\n mainImage(gl_FragColor, uv0.xy);\n}" + }, + "glsl3": { + "vert": "uniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nprecision highp float;\nin vec3 a_position;\nin vec2 a_uv0;\nout vec2 uv0;\nvoid main () {\n gl_Position = cc_matViewProj * vec4(a_position, 1);\n uv0 = a_uv0;\n}", + "frag": "\nprecision highp float;\nin vec2 uv0;\nuniform sampler2D texture;\nuniform ARGS {\n vec4 UVoffset;\n vec2 u_resolution;\n float u_time;\n float rotated;\n};\nvec2 s(vec2 p)\n{\n float d=u_time*0.2,x=8.*(p.x+d),y=8.*(p.y+d);\n return vec2(cos(x-y)*cos(y),sin(x+y)*sin(y));\n}\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n vec2 rs = u_resolution.xy;\n vec2 uv = fragCoord;\n vec2 q = uv+2./u_resolution.x*(s(uv)-s(uv+rs));\n fragColor = texture2D(texture, q);\n}\nvoid main()\n{\n vec2 UVnormalize;\n UVnormalize.x = (uv0.x-UVoffset.x)/(UVoffset.z-UVoffset.x);\n UVnormalize.y = (uv0.y-UVoffset.y)/(UVoffset.w-UVoffset.y);\n if(rotated > 0.5)\n {\n float temp = UVnormalize.x;\n UVnormalize.x = UVnormalize.y;\n UVnormalize.y = 1.0 - temp;\n }\n mainImage(gl_FragColor, uv0.xy);\n}" + } + } + ], + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/effect/WaveLight.effect b/assets/Resources/effect/WaveLight.effect new file mode 100644 index 0000000..ebbbfe6 --- /dev/null +++ b/assets/Resources/effect/WaveLight.effect @@ -0,0 +1,82 @@ +//波纹流光 +CCEffect %{ + techniques: + - passes: + - vert: vs + frag: fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + texture: { value: white } + u_time: { value: 0.5 } +}% + +CCProgram vs %{ // 顶点Shader模块开始 + #include + precision highp float; //定义float高精度 + in vec3 a_position; // 顶点Shader 从渲染管道里面获取的顶点信息,使用attribute来修饰; + in vec2 a_uv0; // 纹理坐标; + out vec2 uv0; // 传递给着色Shader,varying 来修饰,进行插值 + void main () { + gl_Position = cc_matViewProj * vec4(a_position, 1); + uv0 = a_uv0; + } +}% + +CCProgram fs %{ + #define TAU 6.12 + #define MAX_ITER 5 + precision highp float; + + in vec2 uv0; + uniform sampler2D texture; + uniform ARGS { + vec4 UVoffset; + float u_time; + float rotated; + }; + + void main() + { + float u_time = u_time * .5+5.; + vec2 UVnormalize; + UVnormalize.x = (uv0.x-UVoffset.x)/(UVoffset.z-UVoffset.x); + UVnormalize.y = (uv0.y-UVoffset.y)/(UVoffset.w-UVoffset.y); + if(rotated > 0.5) + { + float temp = UVnormalize.x; + UVnormalize.x = UVnormalize.y; + UVnormalize.y = 1.0 - temp; + } + + vec2 uv = uv0.xy;//fragCoord.xy / iResolution.xy; + + vec2 p = mod(uv*TAU, TAU)-250.0; + + vec2 i = vec2(p); + float c = 1.0; + float inten = .0065; + + for (int n = 0; n < MAX_ITER; n++) + { + float t = u_time * (1.0 - (3.5 / float(n+1))); + i = p + vec2(cos(t - i.x) + sin(t + i.y), sin(t - i.y) + cos(1.5*t + i.x)); + c += 1.0/length(vec2(p.x / (cos(i.x+t)/inten),p.y / (cos(i.y+t)/inten))); + } + c /= float(MAX_ITER); + c = 1.17-pow(c, 1.4); + vec4 tex = texture2D(texture,uv0); + vec3 colour = vec3(pow(abs(c), 20.0)); + colour = clamp(colour + vec3(0.0, 0.0, .0), 0.0, tex.a); + + // 混合波光 + float alpha = c*tex[3]; + tex[0] = tex[0] + colour[0]*alpha; + tex[1] = tex[1] + colour[1]*alpha; + tex[2] = tex[2] + colour[2]*alpha; + gl_FragColor = vec4(1,1,1,1) * tex; + } +}% diff --git a/assets/Resources/effect/WaveLight.effect.meta b/assets/Resources/effect/WaveLight.effect.meta new file mode 100644 index 0000000..0d90cb6 --- /dev/null +++ b/assets/Resources/effect/WaveLight.effect.meta @@ -0,0 +1,17 @@ +{ + "ver": "1.0.25", + "uuid": "ae91e5d2-7d0a-41f4-a4fa-ffe0037ff8a0", + "compiledShaders": [ + { + "glsl1": { + "vert": "uniform mat4 cc_matViewProj;\nprecision highp float;\nattribute vec3 a_position;\nattribute vec2 a_uv0;\nvarying vec2 uv0;\nvoid main () {\n gl_Position = cc_matViewProj * vec4(a_position, 1);\n uv0 = a_uv0;\n}", + "frag": "\nprecision highp float;\nvarying vec2 uv0;\nuniform sampler2D texture;\nuniform vec4 UVoffset;\nuniform float u_time;\nuniform float rotated;\nvoid main()\n{\n float u_time = u_time * .5+5.;\n vec2 UVnormalize;\n UVnormalize.x = (uv0.x-UVoffset.x)/(UVoffset.z-UVoffset.x);\n UVnormalize.y = (uv0.y-UVoffset.y)/(UVoffset.w-UVoffset.y);\n if(rotated > 0.5)\n {\n float temp = UVnormalize.x;\n UVnormalize.x = UVnormalize.y;\n UVnormalize.y = 1.0 - temp;\n }\n vec2 uv = uv0.xy;\n vec2 p = mod(uv*6.12, 6.12)-250.0;\n vec2 i = vec2(p);\n float c = 1.0;\n float inten = .0065;\n for (int n = 0; n < 5; n++)\n {\n float t = u_time * (1.0 - (3.5 / float(n+1)));\n i = p + vec2(cos(t - i.x) + sin(t + i.y), sin(t - i.y) + cos(1.5*t + i.x));\n c += 1.0/length(vec2(p.x / (cos(i.x+t)/inten),p.y / (cos(i.y+t)/inten)));\n }\n c /= float(5);\n c = 1.17-pow(c, 1.4);\n vec4 tex = texture2D(texture,uv0);\n vec3 colour = vec3(pow(abs(c), 20.0));\n colour = clamp(colour + vec3(0.0, 0.0, .0), 0.0, tex.a);\n float alpha = c*tex[3];\n tex[0] = tex[0] + colour[0]*alpha;\n tex[1] = tex[1] + colour[1]*alpha;\n tex[2] = tex[2] + colour[2]*alpha;\n gl_FragColor = vec4(1,1,1,1) * tex;\n}" + }, + "glsl3": { + "vert": "uniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nprecision highp float;\nin vec3 a_position;\nin vec2 a_uv0;\nout vec2 uv0;\nvoid main () {\n gl_Position = cc_matViewProj * vec4(a_position, 1);\n uv0 = a_uv0;\n}", + "frag": "\nprecision highp float;\nin vec2 uv0;\nuniform sampler2D texture;\nuniform ARGS {\n vec4 UVoffset;\n float u_time;\n float rotated;\n};\nvoid main()\n{\n float u_time = u_time * .5+5.;\n vec2 UVnormalize;\n UVnormalize.x = (uv0.x-UVoffset.x)/(UVoffset.z-UVoffset.x);\n UVnormalize.y = (uv0.y-UVoffset.y)/(UVoffset.w-UVoffset.y);\n if(rotated > 0.5)\n {\n float temp = UVnormalize.x;\n UVnormalize.x = UVnormalize.y;\n UVnormalize.y = 1.0 - temp;\n }\n vec2 uv = uv0.xy;\n vec2 p = mod(uv*6.12, 6.12)-250.0;\n vec2 i = vec2(p);\n float c = 1.0;\n float inten = .0065;\n for (int n = 0; n < 5; n++)\n {\n float t = u_time * (1.0 - (3.5 / float(n+1)));\n i = p + vec2(cos(t - i.x) + sin(t + i.y), sin(t - i.y) + cos(1.5*t + i.x));\n c += 1.0/length(vec2(p.x / (cos(i.x+t)/inten),p.y / (cos(i.y+t)/inten)));\n }\n c /= float(5);\n c = 1.17-pow(c, 1.4);\n vec4 tex = texture2D(texture,uv0);\n vec3 colour = vec3(pow(abs(c), 20.0));\n colour = clamp(colour + vec3(0.0, 0.0, .0), 0.0, tex.a);\n float alpha = c*tex[3];\n tex[0] = tex[0] + colour[0]*alpha;\n tex[1] = tex[1] + colour[1]*alpha;\n tex[2] = tex[2] + colour[2]*alpha;\n gl_FragColor = vec4(1,1,1,1) * tex;\n}" + } + } + ], + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/material.meta b/assets/Resources/material.meta new file mode 100644 index 0000000..41ff515 --- /dev/null +++ b/assets/Resources/material.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.1.2", + "uuid": "7ac67478-2a74-402e-971b-8e4aa8058cbf", + "isBundle": false, + "bundleName": "", + "priority": 1, + "compressionType": {}, + "optimizeHotUpdate": {}, + "inlineSpriteFrames": {}, + "isRemoteBundle": {}, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/material/BlurGauss.mtl b/assets/Resources/material/BlurGauss.mtl new file mode 100644 index 0000000..31785a3 --- /dev/null +++ b/assets/Resources/material/BlurGauss.mtl @@ -0,0 +1,13 @@ +{ + "__type__": "cc.Material", + "_name": "", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "d64b960e-910a-4f6a-a413-b37932350ea6" + }, + "_defines": {}, + "_props": { + "u_degree": 0.02 + } +} \ No newline at end of file diff --git a/assets/Resources/material/BlurGauss.mtl.meta b/assets/Resources/material/BlurGauss.mtl.meta new file mode 100644 index 0000000..e3be52b --- /dev/null +++ b/assets/Resources/material/BlurGauss.mtl.meta @@ -0,0 +1,6 @@ +{ + "ver": "1.0.3", + "uuid": "b4bd1276-dc2b-4f11-84d3-50c9f68daaaa", + "dataAsSubAsset": null, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/material/BlurNormal.mtl b/assets/Resources/material/BlurNormal.mtl new file mode 100644 index 0000000..3bcc123 --- /dev/null +++ b/assets/Resources/material/BlurNormal.mtl @@ -0,0 +1,17 @@ +{ + "__type__": "cc.Material", + "_name": "", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "14e64f7c-87c8-459a-ad37-6c773ceea4e6" + }, + "_defines": {}, + "_props": { + "u_resolution": { + "__type__": "cc.Vec2", + "x": 284, + "y": 399 + } + } +} \ No newline at end of file diff --git a/assets/Resources/material/BlurNormal.mtl.meta b/assets/Resources/material/BlurNormal.mtl.meta new file mode 100644 index 0000000..f2dae99 --- /dev/null +++ b/assets/Resources/material/BlurNormal.mtl.meta @@ -0,0 +1,6 @@ +{ + "ver": "1.0.3", + "uuid": "cbf349e7-9626-443d-ae30-4572f81fad2f", + "dataAsSubAsset": null, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/material/Disslove.mtl b/assets/Resources/material/Disslove.mtl new file mode 100644 index 0000000..63b5df5 --- /dev/null +++ b/assets/Resources/material/Disslove.mtl @@ -0,0 +1,13 @@ +{ + "__type__": "cc.Material", + "_name": "", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "ed4b64c1-0535-4ae5-9648-4acb0a4c0fd8" + }, + "_defines": {}, + "_props": { + "u_time": 0.5 + } +} \ No newline at end of file diff --git a/assets/Resources/material/Disslove.mtl.meta b/assets/Resources/material/Disslove.mtl.meta new file mode 100644 index 0000000..4e1c868 --- /dev/null +++ b/assets/Resources/material/Disslove.mtl.meta @@ -0,0 +1,6 @@ +{ + "ver": "1.0.3", + "uuid": "9d0c46d2-2026-42ec-b3cf-d34b07471c6e", + "dataAsSubAsset": null, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/material/Glowing.mtl b/assets/Resources/material/Glowing.mtl new file mode 100644 index 0000000..79e5a4e --- /dev/null +++ b/assets/Resources/material/Glowing.mtl @@ -0,0 +1,26 @@ +{ + "__type__": "cc.Material", + "_name": "", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "0f9457ac-e49b-4ec4-bd74-11b0eabbdb4d" + }, + "_defines": { + "IS_Edge_Blur": false, + "IS_EdgeGlowing": true, + "USE_EDGE_COLOR": true + }, + "_props": { + "u_edge": 0.5, + "u_offset": 0.1, + "u_edgeBlur": 0.1, + "u_edgeColor": { + "__type__": "cc.Color", + "r": 245, + "g": 220, + "b": 41, + "a": 255 + } + } +} \ No newline at end of file diff --git a/assets/Resources/material/Glowing.mtl.meta b/assets/Resources/material/Glowing.mtl.meta new file mode 100644 index 0000000..698525e --- /dev/null +++ b/assets/Resources/material/Glowing.mtl.meta @@ -0,0 +1,6 @@ +{ + "ver": "1.0.3", + "uuid": "af53adf5-e563-42b6-b383-d6e0c56638c1", + "dataAsSubAsset": null, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/material/Mosaic.mtl b/assets/Resources/material/Mosaic.mtl new file mode 100644 index 0000000..04f6639 --- /dev/null +++ b/assets/Resources/material/Mosaic.mtl @@ -0,0 +1,18 @@ +{ + "__type__": "cc.Material", + "_name": "", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "8b12cd41-6673-45b2-8e81-f77078e331b4" + }, + "_defines": {}, + "_props": { + "u_resolution": { + "__type__": "cc.Vec2", + "x": 200, + "y": 300 + }, + "u_mosaicSize": 5 + } +} \ No newline at end of file diff --git a/assets/Resources/material/Mosaic.mtl.meta b/assets/Resources/material/Mosaic.mtl.meta new file mode 100644 index 0000000..bb6de11 --- /dev/null +++ b/assets/Resources/material/Mosaic.mtl.meta @@ -0,0 +1,6 @@ +{ + "ver": "1.0.3", + "uuid": "83e16eb7-e8bc-408d-9fe7-2a518e6803a0", + "dataAsSubAsset": null, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/material/New Material.mtl b/assets/Resources/material/New Material.mtl new file mode 100644 index 0000000..4cd3567 --- /dev/null +++ b/assets/Resources/material/New Material.mtl @@ -0,0 +1,16 @@ +{ + "__type__": "cc.Material", + "_name": "builtin-2d-sprite", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "2874f8dd-416c-4440-81b7-555975426e93" + }, + "_techniqueData": { + "0": { + "defines": { + "USE_TEXTURE": true + } + } + } +} \ No newline at end of file diff --git a/assets/Resources/material/New Material.mtl.meta b/assets/Resources/material/New Material.mtl.meta new file mode 100644 index 0000000..7acbffc --- /dev/null +++ b/assets/Resources/material/New Material.mtl.meta @@ -0,0 +1,6 @@ +{ + "ver": "1.0.3", + "uuid": "56ba2053-66bd-4240-bddb-c0977fe8a943", + "dataAsSubAsset": null, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/material/RadialBlur.mtl b/assets/Resources/material/RadialBlur.mtl new file mode 100644 index 0000000..368e080 --- /dev/null +++ b/assets/Resources/material/RadialBlur.mtl @@ -0,0 +1,22 @@ +{ + "__type__": "cc.Material", + "_name": "", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "9d24dc19-8d72-483a-903d-914ccf86f169" + }, + "_defines": {}, + "_props": { + "u_point": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "u_resolution": { + "__type__": "cc.Vec2", + "x": 200, + "y": 300 + } + } +} \ No newline at end of file diff --git a/assets/Resources/material/RadialBlur.mtl.meta b/assets/Resources/material/RadialBlur.mtl.meta new file mode 100644 index 0000000..6ef0446 --- /dev/null +++ b/assets/Resources/material/RadialBlur.mtl.meta @@ -0,0 +1,6 @@ +{ + "ver": "1.0.3", + "uuid": "8f0a0dc1-7084-4481-ba38-c404557dc52e", + "dataAsSubAsset": null, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/material/Water.mtl b/assets/Resources/material/Water.mtl new file mode 100644 index 0000000..45da052 --- /dev/null +++ b/assets/Resources/material/Water.mtl @@ -0,0 +1,18 @@ +{ + "__type__": "cc.Material", + "_name": "", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "7d5495a0-26aa-4858-a9db-37507aff7ba4" + }, + "_defines": {}, + "_props": { + "u_resolution": { + "__type__": "cc.Vec2", + "x": 284, + "y": 300 + }, + "u_time": 0.3 + } +} \ No newline at end of file diff --git a/assets/Resources/material/Water.mtl.meta b/assets/Resources/material/Water.mtl.meta new file mode 100644 index 0000000..04cb2b9 --- /dev/null +++ b/assets/Resources/material/Water.mtl.meta @@ -0,0 +1,6 @@ +{ + "ver": "1.0.3", + "uuid": "e673829a-3372-4e5e-b3ad-45090fb7b4b1", + "dataAsSubAsset": null, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/material/WaveLight.mtl b/assets/Resources/material/WaveLight.mtl new file mode 100644 index 0000000..3a92be9 --- /dev/null +++ b/assets/Resources/material/WaveLight.mtl @@ -0,0 +1,11 @@ +{ + "__type__": "cc.Material", + "_name": "", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "ae91e5d2-7d0a-41f4-a4fa-ffe0037ff8a0" + }, + "_defines": {}, + "_props": {} +} \ No newline at end of file diff --git a/assets/Resources/material/WaveLight.mtl.meta b/assets/Resources/material/WaveLight.mtl.meta new file mode 100644 index 0000000..edbe85e --- /dev/null +++ b/assets/Resources/material/WaveLight.mtl.meta @@ -0,0 +1,6 @@ +{ + "ver": "1.0.3", + "uuid": "5105e692-6f15-42df-8b29-70646ea07be9", + "dataAsSubAsset": null, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/picture.meta b/assets/Resources/picture.meta new file mode 100644 index 0000000..845a14b --- /dev/null +++ b/assets/Resources/picture.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.1.2", + "uuid": "0421f3da-2a3b-452f-b35b-96b2e6548c12", + "isBundle": false, + "bundleName": "", + "priority": 1, + "compressionType": {}, + "optimizeHotUpdate": {}, + "inlineSpriteFrames": {}, + "isRemoteBundle": {}, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Resources/picture/Lighting1.png b/assets/Resources/picture/Lighting1.png new file mode 100644 index 0000000000000000000000000000000000000000..1e7ee54aa7703b99849b4b4c3cb30b7f626e5b36 GIT binary patch literal 19623 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 WM)LFizn1=$n1!j0$yFnlsQ&^WceES; literal 0 HcmV?d00001 diff --git a/assets/Resources/picture/Lighting1.png.meta b/assets/Resources/picture/Lighting1.png.meta new file mode 100644 index 0000000..cbf0589 --- /dev/null +++ b/assets/Resources/picture/Lighting1.png.meta @@ -0,0 +1,36 @@ +{ + "ver": "2.3.5", + "uuid": "ee84914d-bfad-4f0f-a92e-f88764d50828", + "type": "sprite", + "wrapMode": "clamp", + "filterMode": "bilinear", + "premultiplyAlpha": false, + "genMipmaps": false, + "packable": true, + "width": 130, + "height": 50, + "platformSettings": {}, + "subMetas": { + "Lighting1": { + "ver": "1.0.4", + "uuid": "1ee898d3-b293-4eb0-a9ea-dbd5f58a7877", + "rawTextureUuid": "ee84914d-bfad-4f0f-a92e-f88764d50828", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 130, + "height": 50, + "rawWidth": 130, + "rawHeight": 50, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "subMetas": {} + } + } +} \ No newline at end of file diff --git a/assets/Resources/picture/button.png b/assets/Resources/picture/button.png new file mode 100644 index 0000000000000000000000000000000000000000..73751e14ac12cd23fde05e3ce71de47d9652491a GIT binary patch literal 36225 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%0D7eSNk9;o66KAAF=^ketVBj*lafa}Yn{ zzY%`B;vTq9-M2r3hFE$=A98(pT|*p(U>f3laap*a;m&zM!yJ|AH=k*E_nC%&e|TF% zA8=AQsv!_KqM_g+;h?bJzLAc3K%WnGYiP8~zLFk3xDPZ8m0muOj(&Y_i+%n6W(`F* zYIwR{Sf}A?xqWqet-w&W%)Ypxp{;cPi|d8<#kG75bMrLZT^Vp$!{N)>8VYA>NUR~U z+7wd>0qORKb4!H90cRHp3mvr2f6>*JpZ)A-|1VKWyI$bbVIlwk002ovPDHLkV1mVv B#_a$A literal 0 HcmV?d00001 diff --git a/assets/Resources/picture/button.png.meta b/assets/Resources/picture/button.png.meta new file mode 100644 index 0000000..fa6765c --- /dev/null +++ b/assets/Resources/picture/button.png.meta @@ -0,0 +1,36 @@ +{ + "ver": "2.3.5", + "uuid": "ae28f27b-f641-4b35-855c-042c4edc9683", + "type": "sprite", + "wrapMode": "clamp", + "filterMode": "bilinear", + "premultiplyAlpha": false, + "genMipmaps": false, + "packable": true, + "width": 273, + "height": 69, + "platformSettings": {}, + "subMetas": { + "button": { + "ver": "1.0.4", + "uuid": "7cec85b1-18b2-4ecc-aa8b-df936cedb4cc", + "rawTextureUuid": "ae28f27b-f641-4b35-855c-042c4edc9683", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 273, + "height": 69, + "rawWidth": 273, + "rawHeight": 69, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "subMetas": {} + } + } +} \ No newline at end of file diff --git a/assets/Resources/picture/card.png b/assets/Resources/picture/card.png new file mode 100644 index 0000000000000000000000000000000000000000..b443ee778783a1241ec02a0f4db2da00f6321662 GIT binary patch literal 210355 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

aj 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

9L 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

1$)*xuwC zASA9YrC>5CIClIb{eEAHP4(*5I#r;ZcvdO?@6u@3RdyYfp&+9#{kv#lbhzj-S~DCDQ+3rr115iFyyC?e&!REQIwXVQo{!6QLJ&HY5GqLR z9}&qj)HkYT7FgeyFgriX(%B_BNOG_1M)7H{rv<2jJa{#)ze+;1(;(aCBa*l6U^*QR z6$2_Y2G?UW9Pmxw@Fpfj$;bcVbDTUahUN=*-z&y!+i+gYM+}JrDUG%Djj8w5k>-;} zp9aK3yU<1$Nt}`Cfv>|=WAqd;V?*Z?TzXGz=wZG0Qv$DY+#sQ4efP9R>BQ+@zcta) zmOIX=rgm;8@yI0y`Rm{F9k{CG!=L&bANk~M+dIRf-n$kOP+`x`+1M?WZbUZQO714 zYhi|!wN>VaJ$5ZFHc8)1Wle&=7FPAqi>q!;lPs+%uJeT7(KU*_{-R_U1@$hWfT|Z4 z9mVm^=^Z+-pX;x_f(Xpd&GH}q@81F7*ojl3?v#x2@na|W^yly7iK9=Wl;*mtFXt7v zyof!!7Wn+#_w(^jf4({9@BPX9x#IF8tgUY}gnv&QeVX5T_j`ExOI|QN#VG=dz|!&> zAN}NKc;KN&vDWb7o1V|ty!sX)n^clpI(z0EpS@hX(Ew4&w0g5UcgmXT>(n*FcUQy5Uqdw>dGaX7Pn;slG)E2}V$bdcp+rOBT;$}bGn_bm z3K!tO-n|?-ysz1q%Ch9xiPOvshs-U^^62AFG3fU=a_9gd1Rj6#DC6;jeS3B_8-(|c zTBj3ezRRZ;r88&Nc>2T%#*>2GiwhjNr#m|t-^Z^9)5OFW*5nrNma%mWf+-&rVS^}d*Mm~YxJ|hw%sLcizsB`CX)$+evf14 z*0|)rUM7>tl%i0*8~f-n(coh1`NSBfy*8uS{+xBcO+_iwyWn;4M2-u!&DmLkG0|Hkj|_>)Jc)Qx`R`@Wsa4j(2c`29b9Keyj~A4Uu3 zn9`a9`}Xqv?|cV&W;u59G{64af57$ET*b`nh|k}CH!pw53psdTAOG$@{uU=rosmAw z0Iz)Mi)59CATX0IJBbpS^H1G&2k(9VN6|`=_j<$_84mjV=ns4sSt0-hQbjt6Kx>tX z5=uhQx?*kUkX^Q{$fATU5Fzj7{jPLEhM7noeehB!OBgn#XjG-nt*wfVf(lf@W0Y{U zm99wL4}qEfZdN866jjM!FxVMZJ`)=0B8-cYwUgvv22{B8fMvD?PRfl}^lUGw;`kag zP29Gl|H=Em0Fw!2D8VTFWQ&!h6?X65-RNZ2`5ECDlbx*r*XyJb9y=;BF-fUyzd1f} zazzPwjh6GQ6^dZm&VK2!C-}g}KFuGz_k;ZQ@BK;h`ipP6Q6K=534iv1k2SBq_7%5s z4SKKmn3VV0&;*~GGnH#RXYU=fCuDYBTJnx1bb6tgs-}?RcG=}W8 zuX-uhr_UZeeu7VZ?oMKWKl{+98bfx)rH8rfl0yKjZ*21E+wPpo1J;IYabCi`Q)iY~ zn@lL3<4cb{3BYr%yK0)zx+|DF#q2Y^?q_B+IDYapcisH}`}gf(etwoa@4lZC zr_L}l8uD}h;BWIczVF-l%;)b+>pKAFkT#u8#BRMp#zOo%~RodWcFJ=QlQ zbREtNoA;`;6U9Utrjkgj(Pmn0TuWkm%7bV+P+}6hs7DP_rTgxw@zGCxmM`3OU-R!P zFF(RdUie%fqLtx=&wCDgb}#Y`Z+<;r^V*m5j<5eK&3jLuJ;y6=y_x6UaBcJ254`JJ zc-z;$f$#X{Z)je-?8sq$^!wh)jn_@*;Ubac<+Uca_Ppm@$2Yv?^?dI;-_gA1Q@4GA zt?_v39KZWp-_EHE4=nqxA3=rD4%U;YM{n>{B_`!F5D_N$w z^vGeJf8%wsGPHQF!Fz#{AoxXV3~zkx%X!o5UctV-yU<4SnwQ-|RXI+dJ%`1T>s+ds zHOLqmI7!nFnwVFjs&yBjvIpx620Zwk5l!{AR z`V-HrQ&}v1iK;c-B5V~~iQ`W+41MLBe3?QKb!>Y3q~aub72PC~>tsdZc?n|hVx83O z$c=JD7QN4f3uckzl_UWm;z-uU`ga?|r};Gr))#&7@LpRlsB+Prr>DW-EC zKxPe@u^8I^N|ivsGCS=E1dg9L-TeFB2foO!{nopu!mZP1mpFc^HA0tNau}P*b$$EW zzm`WHdx{&cyNZW8q3zec@ikm}_y7xYGtF!FKllj4;h_2Vp52S=&-QZV6-N?+Ty@&C zgbG~fd)o7L0HJ1dXj{%21;NfWh8WquZ#PQ8-S<7n{M;;Wc+JbW{K( zk`OQk_U_r0D0mdlyWu+SyyrnV�)JmzqdoOy0e?i#NRXrIdwZZGD}U)pbst7M%;{ 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 Y(Cz;|5bjd81vvmEDJm;cDWvcJKa@GdasU7T literal 0 HcmV?d00001 diff --git a/assets/Resources/picture/card.png.meta b/assets/Resources/picture/card.png.meta new file mode 100644 index 0000000..d8ef7ec --- /dev/null +++ b/assets/Resources/picture/card.png.meta @@ -0,0 +1,36 @@ +{ + "ver": "2.3.5", + "uuid": "98b62bdd-03ee-41d7-832f-a0d0aeed4fee", + "type": "sprite", + "wrapMode": "clamp", + "filterMode": "bilinear", + "premultiplyAlpha": false, + "genMipmaps": false, + "packable": false, + "width": 307, + "height": 465, + "platformSettings": {}, + "subMetas": { + "card": { + "ver": "1.0.4", + "uuid": "58b39b44-d165-415a-afc9-1655148ada22", + "rawTextureUuid": "98b62bdd-03ee-41d7-832f-a0d0aeed4fee", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": -8.5, + "offsetY": -18, + "trimX": 3, + "trimY": 51, + "width": 284, + "height": 399, + "rawWidth": 307, + "rawHeight": 465, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "subMetas": {} + } + } +} \ No newline at end of file diff --git a/assets/Resources/picture/doge.jpg b/assets/Resources/picture/doge.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5a21ea4a5fb1eb1804bb72ca35f1484e53cf4d01 GIT binary patch literal 8745 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 fJE2`EGpywEASu7}c~(nfPPrY)j>1f#zaRex^V 1.5) + { + this.IsAdd = false; + } + else if(this.time < -0.5) + { + this.IsAdd = true; + } + } +} diff --git a/assets/Resources/script/ShaderController.ts.meta b/assets/Resources/script/ShaderController.ts.meta new file mode 100644 index 0000000..4cde520 --- /dev/null +++ b/assets/Resources/script/ShaderController.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "1.0.8", + "uuid": "ee8e4708-0626-4367-84ad-a44d4465fbb3", + "isPlugin": false, + "loadPluginInWeb": true, + "loadPluginInNative": true, + "loadPluginInEditor": false, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Shader/FluxayTexture.meta b/assets/Shader/FluxayTexture.meta new file mode 100644 index 0000000..c030f19 --- /dev/null +++ b/assets/Shader/FluxayTexture.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.1.2", + "uuid": "a35ff310-19b5-4f06-a82a-601579ffd48a", + "isBundle": false, + "bundleName": "", + "priority": 1, + "compressionType": {}, + "optimizeHotUpdate": {}, + "inlineSpriteFrames": {}, + "isRemoteBundle": {}, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Shader/FluxayTexture/FluxayTexture.effect b/assets/Shader/FluxayTexture/FluxayTexture.effect new file mode 100644 index 0000000..ac9f19c --- /dev/null +++ b/assets/Shader/FluxayTexture/FluxayTexture.effect @@ -0,0 +1,116 @@ +//扫光-纹理 + +CCEffect %{ + techniques: + - passes: + - vert: vs + frag: fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + texture: { value: white } + u_fluxayTexture: { value: white } + u_time: { value: 0 } +}% + +// Vertex Shader(顶点着色器) +// 将顶点从模型空间坐标系统转化到屏幕空间坐标系统 +// 顶点着色器分为输入和输出两部分 +// 负责的功能是把输入的数据进行矩阵变换位置,计算光照公式生成逐顶点颜⾊,⽣成/变换纹理坐标 +// 并且把位置和纹理坐标这样的参数发送到片段着色器 +CCProgram vs %{ + precision highp float; + + #include + #include + + // 输入的顶点坐标 + in vec3 a_position; + // 输入的顶点颜色 + in vec4 a_color; + // 输出的顶点颜色 + out vec4 v_color; + + #if USE_TEXTURE + // 输入的纹理坐标 + // UV坐标:原点在左上角,u轴是向右,v轴是向下,范围是0-1 + in vec2 a_uv0; + // 输出的纹理坐标 + out vec2 v_uv0; + #endif + + void main () { + mat4 mvp; + + #if CC_USE_MODEL + mvp = cc_matViewProj * cc_matWorld; + #else + mvp = cc_matViewProj; + #endif + + v_uv0 = a_uv0; + + v_color = a_color; + + gl_Position = mvp * vec4(a_position, 1); + } +}% + +// Fragment Shader(片段着色器) +// 片元着色器的作用是处理由光栅化阶段生成的每个片元,最终计算出每个像素的最终颜色(RGBA) +CCProgram fs %{ + precision highp float; + + #include + #include + + in vec4 v_color; + + in vec2 v_uv0; + + uniform sampler2D texture; + + uniform sampler2D u_fluxayTexture; //流光纹理 + + // 自定义属性 + // 所有非 sampler 的 uniform 都必须以 UBO 形式声明 + // UBO 成员声明类型和顺序有严格的校验机制,以排除 GL 标准下隐式布局对齐带来的内存消耗 + uniform ARGS { + float u_time; + }; + + void main () { + vec4 o = vec4(1, 1, 1, 1); + + #if USE_TEXTURE + // texture.inc 核心函数 + // o = texture2D(texture, v_uv0); + // texture: 纹理,v_uv0: 纹理坐标,通过 GLSL 的内建函数 texture2D 来获取纹理上对应UV坐标的颜色(RGBA) + o = texture2D(texture, v_uv0); + #endif + + // 纹理颜色和顶点颜色(节点颜色)叠加得到最终颜色 + o *= v_color; + + // alpha-test.inc 核心函数 + // if (color.a < alphaThreshold) discard; + // discard:退出片段着色器,不执行后面的片段着色操作,片段也不会写入帧缓冲区 + ALPHA_TEST(o); + + // 在底图不透明的地方叠加流光纹理的颜色 + if(o.a >= 1.0) { + // 根据时间控制流光纹理的UV + vec2 fluxayUV = vec2(v_uv0.x, v_uv0.y); + fluxayUV.x -= u_time - 1.0; + // 获取流光纹理上UV的颜色 + vec4 fluxay = texture2D(u_fluxayTexture, fluxayUV); + // 叠加颜色 + gl_FragColor = o + fluxay; + } else { + gl_FragColor = o; + } + } +}% \ No newline at end of file diff --git a/assets/Shader/FluxayTexture/FluxayTexture.effect.meta b/assets/Shader/FluxayTexture/FluxayTexture.effect.meta new file mode 100644 index 0000000..e93cd20 --- /dev/null +++ b/assets/Shader/FluxayTexture/FluxayTexture.effect.meta @@ -0,0 +1,17 @@ +{ + "ver": "1.0.25", + "uuid": "1034a341-a01d-4cb3-84d9-4e848d4242e0", + "compiledShaders": [ + { + "glsl1": { + "vert": "\nprecision highp float;\nuniform mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\n#if USE_TEXTURE\n attribute vec2 a_uv0;\n varying vec2 v_uv0;\n#endif\nvoid main () {\n mat4 mvp;\n #if CC_USE_MODEL\n mvp = cc_matViewProj * cc_matWorld;\n #else\n mvp = cc_matViewProj;\n #endif\n v_uv0 = a_uv0;\n v_color = a_color;\n gl_Position = mvp * vec4(a_position, 1);\n}", + "frag": "\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform float alphaThreshold;\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nvarying vec4 v_color;\nvarying vec2 v_uv0;\nuniform sampler2D texture;\nuniform sampler2D u_fluxayTexture;\nuniform float u_time;\nvoid main () {\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n o = texture2D(texture, v_uv0);\n #endif\n o *= v_color;\n ALPHA_TEST(o);\n if(o.a >= 1.0) {\n vec2 fluxayUV = vec2(v_uv0.x, v_uv0.y);\n fluxayUV.x -= u_time - 1.0;\n vec4 fluxay = texture2D(u_fluxayTexture, fluxayUV);\n gl_FragColor = o + fluxay;\n } else {\n gl_FragColor = o;\n }\n}" + }, + "glsl3": { + "vert": "\nprecision highp float;\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nin vec3 a_position;\nin vec4 a_color;\nout vec4 v_color;\n#if USE_TEXTURE\n in vec2 a_uv0;\n out vec2 v_uv0;\n#endif\nvoid main () {\n mat4 mvp;\n #if CC_USE_MODEL\n mvp = cc_matViewProj * cc_matWorld;\n #else\n mvp = cc_matViewProj;\n #endif\n v_uv0 = a_uv0;\n v_color = a_color;\n gl_Position = mvp * vec4(a_position, 1);\n}", + "frag": "\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform ALPHA_TEST {\n float alphaThreshold;\n };\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nin vec4 v_color;\nin vec2 v_uv0;\nuniform sampler2D texture;\nuniform sampler2D u_fluxayTexture;\nuniform ARGS {\n float u_time;\n};\nvoid main () {\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n o = texture2D(texture, v_uv0);\n #endif\n o *= v_color;\n ALPHA_TEST(o);\n if(o.a >= 1.0) {\n vec2 fluxayUV = vec2(v_uv0.x, v_uv0.y);\n fluxayUV.x -= u_time - 1.0;\n vec4 fluxay = texture2D(u_fluxayTexture, fluxayUV);\n gl_FragColor = o + fluxay;\n } else {\n gl_FragColor = o;\n }\n}" + } + } + ], + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Shader/FluxayTexture/FluxayTexture.jpg b/assets/Shader/FluxayTexture/FluxayTexture.jpg new file mode 100644 index 0000000000000000000000000000000000000000..787f4e63fb4c0e6ff9ac4f3d10321ef579a9724a GIT binary patch literal 443325 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