mirror of
https://github.com/ifengzp/cocos-awesome.git
synced 2025-04-04 14:12:36 +00:00
1 line
55 KiB
JSON
1 line
55 KiB
JSON
[{"__type__":"cc.SpriteFrame","content":{"name":"singleColor","texture":"8eG6GQcvBAFJvRA/1wSxri","rect":[0,0,2,2],"offset":[0,0],"originalSize":[2,2],"capInsets":[0,0,0,0]}},{"__type__":"cc.Texture2D","content":"0,9729,9729,33071,33071,0,0,1"},{"__type__":"cc.EffectAsset","_name":"builtin-2d-sprite","techniques":[{"passes":[{"blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"properties":{"texture":{"value":"white","type":29},"alphaThreshold":{"value":[0.5],"type":13}},"program":"builtin-2d-sprite|vs|fs"}]}],"shaders":[{"hash":4188224455,"glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n highp vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n mediump vec4 cc_nativeSize;\n highp mat4 cc_matView;\n mediump mat4 cc_matViewInv;\n mediump mat4 cc_matProj;\n mediump mat4 cc_matProjInv;\n mediump mat4 cc_matViewProj;\n mediump mat4 cc_matViewProjInv;\n mediump vec4 cc_cameraPos;\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\nin vec2 a_uv0;\nout vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\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;\n#if USE_TEXTURE\nin vec2 v_uv0;\nuniform sampler2D texture;\n#endif\nvoid main () {\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n o *= texture(texture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_TEXTURE\n o.a *= texture2D(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #endif\n o *= v_color;\n ALPHA_TEST(o);\n gl_FragColor = o;\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mediump mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\n#if USE_TEXTURE\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\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;\n#if USE_TEXTURE\nvarying vec2 v_uv0;\nuniform sampler2D texture;\n#endif\nvoid main () {\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n o *= texture2D(texture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_TEXTURE\n o.a *= texture2D(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #endif\n o *= v_color;\n ALPHA_TEST(o);\n gl_FragColor = o;\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"USE_TEXTURE","type":"boolean","defines":[]},{"name":"CC_USE_MODEL","type":"boolean","defines":[]},{"name":"USE_ALPHA_TEST","type":"boolean","defines":[]},{"name":"CC_USE_ALPHA_ATLAS_TEXTURE","type":"boolean","defines":["USE_TEXTURE"]}],"blocks":[{"name":"ALPHA_TEST","members":[{"name":"alphaThreshold","type":13,"count":1}],"defines":["USE_ALPHA_TEST"],"binding":0}],"samplers":[{"name":"texture","type":29,"count":1,"defines":["USE_TEXTURE"],"binding":30}],"record":null,"name":"builtin-2d-sprite|vs|fs"}]},[{"__type__":"cc.SceneAsset","_name":"Home","scene":{"__id__":1},"asyncLoadAssets":null},{"__type__":"cc.Scene","_name":"New Node","_children":[{"__id__":2},{"__id__":23},{"__id__":24}],"_anchorPoint":{"__type__":"cc.Vec2"},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[0,0,0,0,0,0,1,1,1,1]},"autoReleaseAssets":false},{"__type__":"cc.Node","_name":"Canvas","_parent":{"__id__":1},"_children":[{"__id__":3},{"__id__":4},{"__id__":5},{"__id__":14},{"__id__":15},{"__id__":16}],"_components":[{"__type__":"cc.Canvas","node":{"__id__":2},"_designResolution":{"__type__":"cc.Size","width":1334,"height":750}},{"__type__":"cc.Widget","node":{"__id__":2},"_alignFlags":45},{"__type__":"e1b90/rohdEk4SdmmEZANaD","node":{"__id__":2},"loadingNode":{"__id__":16},"loadingProgress":{"__id__":22},"scrollContent":{"__id__":11},"scrollItemPrefab":{"__uuid__":"3cJ7DTv2ZHoraoCcokEylE"}}],"_color":{"__type__":"cc.Color","r":252,"g":252,"b":252},"_contentSize":{"__type__":"cc.Size","width":1334,"height":750},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[667,375,0,0,0,0,1,1,1,1]},"_id":"a286bbGknJLZpRpxROV6M94"},{"__type__":"cc.Node","_name":"Main Camera","_parent":{"__id__":2},"_components":[{"__type__":"cc.Camera","node":{"__id__":3},"_clearFlags":7,"_depth":-1}],"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[0,0,769.0305585605815,0,0,0,1,1,1,1]}},{"__type__":"cc.Node","_name":"bg","_parent":{"__id__":2},"_components":[{"__type__":"cc.Sprite","node":{"__id__":4},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_spriteFrame":{"__uuid__":"0fUxcWw/ZH6L5lQkjfynjY"},"_sizeMode":0},{"__type__":"cc.Widget","node":{"__id__":4},"_alignFlags":45,"_originalWidth":2,"_originalHeight":2}],"_color":{"__type__":"cc.Color","r":27,"g":38,"b":46},"_contentSize":{"__type__":"cc.Size","width":1334,"height":750},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[0,0,0,0,0,0,1,1,1,1]}},{"__type__":"cc.Node","_name":"scrollview","_parent":{"__id__":2},"_children":[{"__id__":6},{"__id__":12},{"__id__":13}],"_components":[{"__type__":"cc.Sprite","node":{"__id__":5},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_spriteFrame":{"__uuid__":"9bvaMerUlDyary99mJa6xp"},"_type":1,"_sizeMode":0},{"__id__":10},{"__type__":"cc.Widget","node":{"__id__":5},"_alignFlags":18,"_horizontalCenter":114.353}],"_color":{"__type__":"cc.Color","r":91,"g":152,"b":155},"_contentSize":{"__type__":"cc.Size","width":800,"height":620},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[114.353,0,0,0,0,0,1,1,1,1]}},{"__type__":"cc.Node","_name":"scrollBar","_parent":{"__id__":5},"_children":[{"__id__":7}],"_components":[{"__id__":9},{"__type__":"cc.Widget","node":{"__id__":6},"alignMode":0,"_alignFlags":37,"_left":350.07654921020657,"_originalHeight":237},{"__type__":"cc.Sprite","node":{"__id__":6},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_spriteFrame":{"__uuid__":"5f5dyqtRNNxaFmVzYns6FZ"},"_type":1,"_sizeMode":0}],"_contentSize":{"__type__":"cc.Size","width":12,"height":620},"_anchorPoint":{"__type__":"cc.Vec2","x":1,"y":0.5},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[400,0,0,0,0,0,1,1,1,1]}},{"__type__":"cc.Node","_name":"bar","_parent":{"__id__":6},"_components":[{"__id__":8}],"_contentSize":{"__type__":"cc.Size","width":10,"height":30},"_anchorPoint":{"__type__":"cc.Vec2","x":1},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[-1,0,0,0,0,0,1,1,1,1]}},{"__type__":"cc.Sprite","node":{"__id__":7},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_spriteFrame":{"__uuid__":"5cO7kybDxGj4ipyMYdRYZB"},"_type":1,"_sizeMode":0},{"__type__":"cc.Scrollbar","node":{"__id__":6},"_scrollView":{"__id__":10},"enableAutoHide":false,"_N$handle":{"__id__":8},"_N$direction":1},{"__type__":"cc.ScrollView","node":{"__id__":5},"horizontal":false,"brake":0.75,"elastic":false,"bounceDuration":0.23,"_N$content":{"__id__":11},"content":{"__id__":11},"_N$horizontalScrollBar":null,"_N$verticalScrollBar":{"__id__":9}},{"__type__":"cc.Node","_name":"content","_parent":{"__id__":12},"_components":[{"__type__":"cc.Layout","node":{"__id__":11},"_layoutSize":{"__type__":"cc.Size","width":800},"_resize":1,"_N$layoutType":2,"_N$paddingTop":20,"_N$paddingBottom":20,"_N$spacingY":20}],"_contentSize":{"__type__":"cc.Size","width":800},"_anchorPoint":{"__type__":"cc.Vec2","x":0.5,"y":1},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[0,300,0,0,0,0,1,1,1,1]}},{"__type__":"cc.Node","_name":"view","_parent":{"__id__":5},"_children":[{"__id__":11}],"_components":[{"__type__":"cc.Mask","node":{"__id__":12},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_N$alphaThreshold":0}],"_contentSize":{"__type__":"cc.Size","width":800,"height":620},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[0,0,0,0,0,0,1,1,1,1]}},{"__type__":"cc.Node","_name":"label","_parent":{"__id__":5},"_components":[{"__type__":"cc.Label","node":{"__id__":13},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_useOriginalSize":false,"_string":"* 实现原理请关注左侧公众号查看","_N$string":"* 实现原理请关注左侧公众号查看","_fontSize":16,"_lineHeight":16,"_N$horizontalAlign":2,"_N$verticalAlign":1,"_N$cacheMode":1}],"_opacity":204,"_contentSize":{"__type__":"cc.Size","width":234.67,"height":20.16},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[281.955,-326.011,0,0,0,0,1,1,1,1]}},{"__type__":"cc.Node","_name":"ewm","_parent":{"__id__":2},"_components":[{"__type__":"cc.Sprite","node":{"__id__":14},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_spriteFrame":{"__uuid__":"80K0AECa9OUZ9oIdvJag4C"},"_sizeMode":0},{"__type__":"cc.Widget","node":{"__id__":14},"_alignFlags":18,"_right":20,"_top":20,"_verticalCenter":80.029,"_horizontalCenter":-464.317}],"_contentSize":{"__type__":"cc.Size","width":200,"height":200},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[-464.317,80.029,0,0,0,0,1,1,1,1]}},{"__type__":"cc.Node","_name":"slogan","_parent":{"__id__":2},"_components":[{"__type__":"cc.Label","node":{"__id__":15},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_useOriginalSize":false,"_string":"写作是一种特殊的行动\n是自我存在的理解,消化和修正的过程","_N$string":"写作是一种特殊的行动\n是自我存在的理解,消化和修正的过程","_fontSize":18,"_lineHeight":28,"_N$horizontalAlign":1,"_N$verticalAlign":1,"_N$cacheMode":1},{"__type__":"cc.Widget","node":{"__id__":15},"_alignFlags":18,"_verticalCenter":-85.319,"_horizontalCenter":-466.456}],"_contentSize":{"__type__":"cc.Size","width":306,"height":63.28},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[-466.456,-85.319,0,0,0,0,1,1,1,1]}},{"__type__":"cc.Node","_name":"loading","_parent":{"__id__":2},"_children":[{"__id__":17},{"__id__":18},{"__id__":19}],"_active":false,"_components":[{"__type__":"cc.Widget","node":{"__id__":16},"_alignFlags":45},{"__type__":"cc.Sprite","node":{"__id__":16},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_spriteFrame":{"__uuid__":"0fUxcWw/ZH6L5lQkjfynjY"},"_sizeMode":0}],"_color":{"__type__":"cc.Color","r":27,"g":38,"b":46},"_contentSize":{"__type__":"cc.Size","width":1334,"height":750},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[0,0,0,0,0,0,1,1,1,1]}},{"__type__":"cc.Node","_name":"avatar","_parent":{"__id__":16},"_components":[{"__type__":"cc.Sprite","node":{"__id__":17},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_spriteFrame":{"__uuid__":"eeSGDneNdPGqHi4skgHvGw"},"_sizeMode":0},{"__type__":"cc.Widget","node":{"__id__":17},"_alignFlags":18,"_verticalCenter":75.872}],"_contentSize":{"__type__":"cc.Size","width":200,"height":200},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[0,75.872,0,0,0,0,1,1,1,1]}},{"__type__":"cc.Node","_name":"slogan","_parent":{"__id__":16},"_components":[{"__type__":"cc.Label","node":{"__id__":18},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_useOriginalSize":false,"_string":"我是 异名\n用代码实现想法","_N$string":"我是 异名\n用代码实现想法","_fontSize":24,"_N$horizontalAlign":1,"_N$verticalAlign":1,"_N$cacheMode":1},{"__type__":"cc.Widget","node":{"__id__":18},"_alignFlags":18,"_verticalCenter":-93.547}],"_contentSize":{"__type__":"cc.Size","width":168,"height":90.4},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[0,-93.547,0,0,0,0,1,1,1,1]}},{"__type__":"cc.Node","_name":"progressBar","_parent":{"__id__":16},"_children":[{"__id__":20}],"_components":[{"__type__":"cc.Sprite","node":{"__id__":19},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_spriteFrame":{"__uuid__":"8855/VlrRKd6H0MSRnFxAU"},"_type":1,"_sizeMode":0},{"__id__":22},{"__type__":"cc.Widget","node":{"__id__":19},"_alignFlags":18,"_verticalCenter":-194.252}],"_contentSize":{"__type__":"cc.Size","width":700,"height":15},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[0,-194.252,0,0,0,0,1,1,1,1]}},{"__type__":"cc.Node","_name":"bar","_parent":{"__id__":19},"_components":[{"__id__":21}],"_contentSize":{"__type__":"cc.Size","height":15},"_anchorPoint":{"__type__":"cc.Vec2","y":0.5},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[-350,0,0,0,0,0,1,1,1,1]}},{"__type__":"cc.Sprite","node":{"__id__":20},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_spriteFrame":{"__uuid__":"675ovJ2tVK2aLYfgPUWOMv"},"_type":1,"_sizeMode":0},{"__type__":"cc.ProgressBar","node":{"__id__":19},"_N$totalLength":700,"_N$barSprite":{"__id__":21},"_N$progress":0},{"__type__":"cc.Node","_name":"BackHomeBtnFreeze","_parent":{"__id__":1},"_components":[{"__type__":"cc.Sprite","node":{"__id__":23},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_spriteFrame":{"__uuid__":"71Qpmzb/1LpaFmKWF2hUVJ"},"_sizeMode":0},{"__type__":"cc.Widget","node":{"__id__":23},"_alignFlags":9,"_left":32,"_top":32,"_bottom":269,"_originalHeight":180},{"__type__":"cc.Button","node":{"__id__":23},"_normalMaterial":{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"},"zoomScale":1.1,"clickEvents":[{"__type__":"cc.ClickEvent","target":{"__id__":23},"_componentId":"f673bb9HWxERKP4rUNhzg42","handler":"backToHome"}],"_N$transition":3,"transition":3},{"__type__":"f673bb9HWxERKP4rUNhzg42","node":{"__id__":23}}],"_contentSize":{"__type__":"cc.Size","width":160,"height":180},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[64,682,0,0,0,0,1,0.4,0.4,1]},"_id":"03nkgB1lhAC6SB+oYRz2BD"},{"__type__":"cc.Node","_name":"ScreenTransition","_parent":{"__id__":1},"_components":[{"__type__":"1cd9dHF3nRI24w/zAzyk3Q3","node":{"__id__":24},"materials":[{"__uuid__":"942NmRnoRNiIn3M9FPG8m/"},{"__uuid__":"c2exMXb5RNbJdgre4nmyrU"},{"__uuid__":"ac2SJyRIFJxoHvWuKOaZ7P"},{"__uuid__":"db8GvNgCRPCKU1CPc4Pt8A"},{"__uuid__":"98Wi2Q/QlNB52UpQ1a8RbZ"},{"__uuid__":"a8aawT/+1DNLXfElEnPysH"},{"__uuid__":"eec+jAX/BIarzf3shbBHVb"},{"__uuid__":"6d0lZqpe9I/6OiUhFjvh4e"}]}],"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[667,375,0,0,0,0,1,1,1,1]},"_id":"e5RQj3G6VEhL2bHSWO3bD2"}],{"__type__":"cc.EffectAsset","_name":"Perlin","techniques":[{"passes":[{"blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"properties":{"scale":{"value":[20],"type":13},"smoothness":{"value":[0.1],"type":13},"seed":{"value":[12.9898],"type":13},"time":{"value":[0],"type":13}},"program":"Perlin|vs|fs"}]}],"shaders":[{"hash":2032534026,"glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n highp vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n mediump vec4 cc_nativeSize;\n highp mat4 cc_matView;\n mediump mat4 cc_matViewInv;\n mediump mat4 cc_matProj;\n mediump mat4 cc_matProjInv;\n mediump mat4 cc_matViewProj;\n mediump mat4 cc_matViewProjInv;\n mediump vec4 cc_cameraPos;\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\nin vec2 a_uv0;\nout vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nuniform sampler2D texture2;\nuniform Perlin {\n float scale;\n float smoothness;\n float seed;\n float time;\n};\nfloat progress = time;\nin mediump vec2 v_uv0;\nin vec4 v_color;\nfloat random(vec2 co) {\n highp float a = seed;\n highp float b = 78.233;\n highp float c = 43758.5453;\n highp float dt= dot(co.xy ,vec2(a,b));\n highp float sn= mod(dt,3.14);\n return fract(sin(sn) * c);\n}\nfloat noise (in vec2 st) {\n vec2 i = floor(st);\n vec2 f = fract(st);\n float a = random(i);\n float b = random(i + vec2(1.0, 0.0));\n float c = random(i + vec2(0.0, 1.0));\n float d = random(i + vec2(1.0, 1.0));\n vec2 u = f*f*(3.0-2.0*f);\n return mix(a, b, u.x) +\n (c - a)* u.y * (1.0 - u.x) +\n (d - b) * u.x * u.y;\n}\nvec4 getFromColor(vec2 uv) {\n return texture(texture, uv);\n}\nvec4 getToColor(vec2 uv) {\n return texture(texture2, uv);\n}\nvec4 transition (vec2 uv) {\n vec4 from = getFromColor(uv);\n vec4 to = getToColor(uv);\n float n = noise(uv * scale);\n float p = mix(-smoothness, 1.0 + smoothness, progress);\n float lower = p - smoothness;\n float higher = p + smoothness;\n float q = smoothstep(lower, higher, n);\n return mix(\n from,\n to,\n 1.0 - q\n );\n}\nvoid main () {\n gl_FragColor = v_color * transition(v_uv0);\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mediump mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\n#if USE_TEXTURE\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nuniform sampler2D texture2;\nuniform float scale;\nuniform float smoothness;\nuniform float seed;\nuniform float time;\nfloat progress = time;\nvarying mediump vec2 v_uv0;\nvarying vec4 v_color;\nfloat random(vec2 co) {\n highp float a = seed;\n highp float b = 78.233;\n highp float c = 43758.5453;\n highp float dt= dot(co.xy ,vec2(a,b));\n highp float sn= mod(dt,3.14);\n return fract(sin(sn) * c);\n}\nfloat noise (in vec2 st) {\n vec2 i = floor(st);\n vec2 f = fract(st);\n float a = random(i);\n float b = random(i + vec2(1.0, 0.0));\n float c = random(i + vec2(0.0, 1.0));\n float d = random(i + vec2(1.0, 1.0));\n vec2 u = f*f*(3.0-2.0*f);\n return mix(a, b, u.x) +\n (c - a)* u.y * (1.0 - u.x) +\n (d - b) * u.x * u.y;\n}\nvec4 getFromColor(vec2 uv) {\n return texture2D(texture, uv);\n}\nvec4 getToColor(vec2 uv) {\n return texture2D(texture2, uv);\n}\nvec4 transition (vec2 uv) {\n vec4 from = getFromColor(uv);\n vec4 to = getToColor(uv);\n float n = noise(uv * scale);\n float p = mix(-smoothness, 1.0 + smoothness, progress);\n float lower = p - smoothness;\n float higher = p + smoothness;\n float q = smoothstep(lower, higher, n);\n return mix(\n from,\n to,\n 1.0 - q\n );\n}\nvoid main () {\n gl_FragColor = v_color * transition(v_uv0);\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"USE_TEXTURE","type":"boolean","defines":[]},{"name":"CC_USE_MODEL","type":"boolean","defines":[]}],"blocks":[{"name":"Perlin","members":[{"name":"scale","type":13,"count":1},{"name":"smoothness","type":13,"count":1},{"name":"seed","type":13,"count":1},{"name":"time","type":13,"count":1}],"defines":[],"binding":0}],"samplers":[{"name":"texture","type":29,"count":1,"defines":[],"binding":30},{"name":"texture2","type":29,"count":1,"defines":[],"binding":31}],"record":null,"name":"Perlin|vs|fs"}]},[{"__type__":"cc.Prefab","_name":"ScrollItemPrefab","data":{"__id__":1}},{"__type__":"cc.Node","_name":"item","_children":[{"__id__":2}],"_components":[{"__type__":"cc.Sprite","node":{"__id__":1},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_spriteFrame":{"__uuid__":"84faTiduNP+ZMUcTQ4chhC"},"_type":1,"_sizeMode":0}],"_prefab":{"__type__":"cc.PrefabInfo","root":{"__id__":1},"asset":{"__uuid__":"3cJ7DTv2ZHoraoCcokEylE"},"fileId":"42ek6+2rFCX6JVYDIZhLy9"},"_contentSize":{"__type__":"cc.Size","width":600,"height":80},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[0,-50,0,0,0,0,1,1,1,1]}},{"__type__":"cc.Node","_name":"label","_parent":{"__id__":1},"_components":[{"__type__":"cc.Label","node":{"__id__":2},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_useOriginalSize":false,"_fontSize":34,"_lineHeight":34,"_N$horizontalAlign":1,"_N$verticalAlign":1}],"_prefab":{"__type__":"cc.PrefabInfo","root":{"__id__":1},"asset":{"__uuid__":"3cJ7DTv2ZHoraoCcokEylE"},"fileId":"5fsPWB4+dB6ofv9Y3zSWuP"},"_contentSize":{"__type__":"cc.Size","height":42.84},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[0,0,0,0,0,0,1,1,1,1]}}],{"__type__":"cc.EffectAsset","_name":"GlitchMemories","techniques":[{"passes":[{"blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"properties":{"texture":{"value":"white","type":29},"time":{"value":[0],"type":13}},"program":"GlitchMemories|vs|fs"}]}],"shaders":[{"hash":3204057172,"glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n highp vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n mediump vec4 cc_nativeSize;\n highp mat4 cc_matView;\n mediump mat4 cc_matViewInv;\n mediump mat4 cc_matProj;\n mediump mat4 cc_matProjInv;\n mediump mat4 cc_matViewProj;\n mediump mat4 cc_matViewProjInv;\n mediump vec4 cc_cameraPos;\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\nin vec2 a_uv0;\nout vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\n precision highp float;\n uniform sampler2D texture;\n uniform sampler2D texture2;\n uniform Common {\n float time;\n };\n float progress = time;\n in mediump vec2 v_uv0;\n in vec4 v_color;\n vec4 getFromColor(vec2 uv) {\n return texture(texture, uv);\n }\n vec4 getToColor(vec2 uv) {\n return texture(texture2, uv);\n }\n vec4 transition(vec2 p) {\n vec2 block = floor(p.xy / vec2(16));\n vec2 uv_noise = block / vec2(64);\n uv_noise += floor(vec2(progress) * vec2(1200.0, 3500.0)) / vec2(64);\n vec2 dist = progress > 0.0 ? (fract(uv_noise) - 0.5) * 0.3 * (1.0 - progress) : vec2(0.0);\n vec2 red = p + dist * 0.2;\n vec2 green = p + dist * 0.3;\n vec2 blue = p + dist * 0.5;\n return vec4(\n mix(getFromColor(red).r, getToColor(red).r, progress),\n mix(getFromColor(green).g, getToColor(green).g, progress),\n mix(getFromColor(blue).b, getToColor(blue).b, progress),\n 1.0\n );\n}\n void main () {\n gl_FragColor = v_color * transition(v_uv0);\n }"},"glsl1":{"vert":"\nprecision highp float;\nuniform mediump mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\n#if USE_TEXTURE\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\n precision highp float;\n uniform sampler2D texture;\n uniform sampler2D texture2;\n uniform float time;\n float progress = time;\n varying mediump vec2 v_uv0;\n varying vec4 v_color;\n vec4 getFromColor(vec2 uv) {\n return texture2D(texture, uv);\n }\n vec4 getToColor(vec2 uv) {\n return texture2D(texture2, uv);\n }\n vec4 transition(vec2 p) {\n vec2 block = floor(p.xy / vec2(16));\n vec2 uv_noise = block / vec2(64);\n uv_noise += floor(vec2(progress) * vec2(1200.0, 3500.0)) / vec2(64);\n vec2 dist = progress > 0.0 ? (fract(uv_noise) - 0.5) * 0.3 * (1.0 - progress) : vec2(0.0);\n vec2 red = p + dist * 0.2;\n vec2 green = p + dist * 0.3;\n vec2 blue = p + dist * 0.5;\n return vec4(\n mix(getFromColor(red).r, getToColor(red).r, progress),\n mix(getFromColor(green).g, getToColor(green).g, progress),\n mix(getFromColor(blue).b, getToColor(blue).b, progress),\n 1.0\n );\n}\n void main () {\n gl_FragColor = v_color * transition(v_uv0);\n }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"USE_TEXTURE","type":"boolean","defines":[]},{"name":"CC_USE_MODEL","type":"boolean","defines":[]}],"blocks":[{"name":"Common","members":[{"name":"time","type":13,"count":1}],"defines":[],"binding":0}],"samplers":[{"name":"texture","type":29,"count":1,"defines":[],"binding":30},{"name":"texture2","type":29,"count":1,"defines":[],"binding":31}],"record":null,"name":"GlitchMemories|vs|fs"}]},{"__type__":"cc.SpriteFrame","content":{"name":"default_scrollbar_vertical","texture":"d608qFRoFHwbXd0Dap056i","rect":[0,0,15,30],"offset":[0,0],"originalSize":[15,30],"capInsets":[4,10,4,10]}},{"__type__":"cc.SpriteFrame","content":{"name":"default_scrollbar_vertical_bg","texture":"61cyPdEfRN047sDK9rO0W5","rect":[0,0,15,30],"offset":[0,0],"originalSize":[15,30],"capInsets":[4,10,4,10]}},{"__type__":"cc.Texture2D","content":"0,9729,9729,33071,33071,0,0,1"},{"__type__":"cc.SpriteFrame","content":{"name":"default_progressbar","texture":"cf73jxyN9Jt47QTJU6ziYh","rect":[0,0,30,15],"offset":[0,0],"originalSize":[30,15],"capInsets":[10,4,10,4]}},{"__type__":"cc.EffectAsset","_name":"strip","techniques":[{"passes":[{"blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"properties":{"texture":{"value":"white","type":29},"texture2":{"value":"white","type":29},"time":{"value":[0],"type":13},"direction":{"value":[1,1],"type":14}},"program":"strip|vs|fs"}]}],"shaders":[{"hash":1955745646,"glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n highp vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n mediump vec4 cc_nativeSize;\n highp mat4 cc_matView;\n mediump mat4 cc_matViewInv;\n mediump mat4 cc_matProj;\n mediump mat4 cc_matProjInv;\n mediump mat4 cc_matViewProj;\n mediump mat4 cc_matViewProjInv;\n mediump vec4 cc_cameraPos;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nin vec3 a_position;\nin lowp vec4 a_color;\nin mediump vec2 a_uv0;\nout mediump vec2 v_uv0;\nout lowp vec4 v_color;\nuniform Time {\n vec2 screenSize;\n float time;\n};\nvoid main() {\n mat4 mvp;\n mvp = cc_matViewProj;\n v_uv0 = a_uv0;\n v_color = a_color;\n gl_Position = mvp * vec4(a_position, 1);\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nuniform sampler2D texture2;\nin mediump vec2 v_uv0;\nuniform Time {\n vec2 screenSize;\n float time;\n};\nin lowp vec4 v_color;\nconst float PI = 3.141592653589793;\nconst float PI_2 = 3.141592653589793;\nuniform Transition {\n vec2 direction;\n};\nfloat aspect = 1.;\nvec4 iMouse = vec4(\n screenSize.x * (mod((1.0 + time * direction.x), 1.0) + 0.2 * sign(direction.x)),\n screenSize.y * (mod((1.0 + time * direction.y), 1.0) + 0.2 * sign(direction.y)),\n screenSize.x * (1.0 - step(0.0, direction.x)),\n screenSize.y * (1.0 - step(0.0, direction.y))\n);\nvec2 mouse = iMouse.xy * vec2(aspect, 1.) / screenSize.xy;\nvec2 mouseDir = normalize(abs(iMouse.zw) - iMouse.xy);\nvec4 transition(vec2 uv) {\n float dist = dot(uv - mouse, mouseDir);\n vec2 linePoint = uv - dist * mouseDir;\n vec4 fragColor = vec4(1.0);\n if (dist > .1) {\n fragColor = texture(texture2, uv);\n }\n else if (dist >= 0.) {\n float theta = asin(dist / .1);\n vec2 p2 = linePoint + mouseDir * (PI - theta) * .1;\n vec2 p1 = linePoint + mouseDir * theta * .1;\n uv = (p2.x <= aspect && p2.y <= 1. && p2.x > 0. && p2.y > 0.) ? p2 : p1;\n fragColor = texture(texture, uv);\n fragColor.rgb *= pow(clamp((.1 - dist) / .1, 0., 1.), .2);\n }\n else {\n vec2 p = linePoint + mouseDir * (abs(dist) + PI * .1);\n uv = (p.x <= aspect && p.y <= 1. && p.x > 0. && p.y > 0.) ? p : uv;\n fragColor = texture(texture, uv);\n }\n return fragColor;\n}\nvoid main () {\n gl_FragColor = v_color * transition(v_uv0);\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mediump mat4 cc_matViewProj;\nattribute vec3 a_position;\nattribute lowp vec4 a_color;\nattribute mediump vec2 a_uv0;\nvarying mediump vec2 v_uv0;\nvarying lowp vec4 v_color;\nvoid main() {\n mat4 mvp;\n mvp = cc_matViewProj;\n v_uv0 = a_uv0;\n v_color = a_color;\n gl_Position = mvp * vec4(a_position, 1);\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nuniform sampler2D texture2;\nvarying mediump vec2 v_uv0;\nuniform vec2 screenSize;\nuniform float time;\nvarying lowp vec4 v_color;\nconst float PI = 3.141592653589793;\nconst float PI_2 = 3.141592653589793;\nuniform vec2 direction;\nfloat aspect = 1.;\nvec4 iMouse = vec4(\n screenSize.x * (mod((1.0 + time * direction.x), 1.0) + 0.2 * sign(direction.x)),\n screenSize.y * (mod((1.0 + time * direction.y), 1.0) + 0.2 * sign(direction.y)),\n screenSize.x * (1.0 - step(0.0, direction.x)),\n screenSize.y * (1.0 - step(0.0, direction.y))\n);\nvec2 mouse = iMouse.xy * vec2(aspect, 1.) / screenSize.xy;\nvec2 mouseDir = normalize(abs(iMouse.zw) - iMouse.xy);\nvec4 transition(vec2 uv) {\n float dist = dot(uv - mouse, mouseDir);\n vec2 linePoint = uv - dist * mouseDir;\n vec4 fragColor = vec4(1.0);\n if (dist > .1) {\n fragColor = texture2D(texture2, uv);\n }\n else if (dist >= 0.) {\n float theta = asin(dist / .1);\n vec2 p2 = linePoint + mouseDir * (PI - theta) * .1;\n vec2 p1 = linePoint + mouseDir * theta * .1;\n uv = (p2.x <= aspect && p2.y <= 1. && p2.x > 0. && p2.y > 0.) ? p2 : p1;\n fragColor = texture2D(texture, uv);\n fragColor.rgb *= pow(clamp((.1 - dist) / .1, 0., 1.), .2);\n }\n else {\n vec2 p = linePoint + mouseDir * (abs(dist) + PI * .1);\n uv = (p.x <= aspect && p.y <= 1. && p.x > 0. && p.y > 0.) ? p : uv;\n fragColor = texture2D(texture, uv);\n }\n return fragColor;\n}\nvoid main () {\n gl_FragColor = v_color * transition(v_uv0);\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[],"blocks":[{"name":"Time","members":[{"name":"screenSize","type":14,"count":1},{"name":"time","type":13,"count":1}],"defines":[],"binding":0},{"name":"Transition","members":[{"name":"direction","type":14,"count":1}],"defines":[],"binding":1}],"samplers":[{"name":"texture","type":29,"count":1,"defines":[],"binding":30},{"name":"texture2","type":29,"count":1,"defines":[],"binding":31}],"record":null,"name":"strip|vs|fs"}]},{"__type__":"cc.Material","_name":"Wind","_effectAsset":{"__uuid__":"abDZf2Ah5LHIIQqcLhAVX3"},"_techniqueData":{"0":{"defines":{"USE_TEXTURE":true}}}},{"__type__":"cc.SpriteFrame","content":{"name":"back","texture":"e3m6/bpx5P14RQH6Q22cUK","rect":[23,7,160,180],"offset":[3,3],"originalSize":[200,200],"capInsets":[0,0,0,0]}},{"__type__":"cc.EffectAsset","_name":"SquaresWire","techniques":[{"passes":[{"blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"properties":{"texture":{"value":"white","type":29},"smoothness":{"value":[0.4],"type":13},"time":{"value":[0],"type":13},"squares":{"value":[10,10],"type":14},"direction":{"value":[1,-0.5],"type":14}},"program":"SquaresWire|vs|fs"}]}],"shaders":[{"hash":2310957841,"glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n highp vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n mediump vec4 cc_nativeSize;\n highp mat4 cc_matView;\n mediump mat4 cc_matViewInv;\n mediump mat4 cc_matProj;\n mediump mat4 cc_matProjInv;\n mediump mat4 cc_matViewProj;\n mediump mat4 cc_matViewProjInv;\n mediump vec4 cc_cameraPos;\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\nin vec2 a_uv0;\nout vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nuniform sampler2D texture2;\nuniform Common {\n vec2 squares;\n vec2 direction;\n float smoothness;\n float time;\n};\nfloat progress = time;\nin mediump vec2 v_uv0;\nin vec4 v_color;\nvec4 getFromColor(vec2 uv) {\n return texture(texture, uv);\n}\nvec4 getToColor(vec2 uv) {\n return texture(texture2, uv);\n}\nvec4 transition(vec2 p) {\n const vec2 center = vec2(0.5, 0.5);\n vec2 v = normalize(direction);\n v /= abs(v.x) + abs(v.y);\n float d = v.x * center.x + v.y * center.y;\n float offset = smoothness;\n float pr = smoothstep(-offset, 0.0, v.x * p.x + v.y * p.y - (d - 0.5 + progress * (1.0 + offset)));\n vec2 squarep = fract(p * squares);\n vec2 squaremin = vec2(pr / 2.0);\n vec2 squaremax = vec2(1.0 - pr / 2.0);\n float a = (1.0 - step(progress, 0.0)) * step(squaremin.x, squarep.x) * step(squaremin.y, squarep.y) * step(squarep.x, squaremax.x) * step(squarep.y, squaremax.y);\n return mix(getFromColor(p), getToColor(p), a);\n}\nvoid main () {\n gl_FragColor = v_color * transition(v_uv0);\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mediump mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\n#if USE_TEXTURE\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nuniform sampler2D texture2;\nuniform vec2 squares;\nuniform vec2 direction;\nuniform float smoothness;\nuniform float time;\nfloat progress = time;\nvarying mediump vec2 v_uv0;\nvarying vec4 v_color;\nvec4 getFromColor(vec2 uv) {\n return texture2D(texture, uv);\n}\nvec4 getToColor(vec2 uv) {\n return texture2D(texture2, uv);\n}\nvec4 transition(vec2 p) {\n const vec2 center = vec2(0.5, 0.5);\n vec2 v = normalize(direction);\n v /= abs(v.x) + abs(v.y);\n float d = v.x * center.x + v.y * center.y;\n float offset = smoothness;\n float pr = smoothstep(-offset, 0.0, v.x * p.x + v.y * p.y - (d - 0.5 + progress * (1.0 + offset)));\n vec2 squarep = fract(p * squares);\n vec2 squaremin = vec2(pr / 2.0);\n vec2 squaremax = vec2(1.0 - pr / 2.0);\n float a = (1.0 - step(progress, 0.0)) * step(squaremin.x, squarep.x) * step(squaremin.y, squarep.y) * step(squarep.x, squaremax.x) * step(squarep.y, squaremax.y);\n return mix(getFromColor(p), getToColor(p), a);\n}\nvoid main () {\n gl_FragColor = v_color * transition(v_uv0);\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"USE_TEXTURE","type":"boolean","defines":[]},{"name":"CC_USE_MODEL","type":"boolean","defines":[]}],"blocks":[{"name":"Common","members":[{"name":"squares","type":14,"count":1},{"name":"direction","type":14,"count":1},{"name":"smoothness","type":13,"count":1},{"name":"time","type":13,"count":1}],"defines":[],"binding":0}],"samplers":[{"name":"texture","type":29,"count":1,"defines":[],"binding":30},{"name":"texture2","type":29,"count":1,"defines":[],"binding":31}],"record":null,"name":"SquaresWire|vs|fs"}]},{"__type__":"cc.SpriteFrame","content":{"name":"ewm","texture":"b7ot69Nu5K8Kv0H73jqMua","rect":[0,0,258,258],"offset":[0,0],"originalSize":[258,258],"capInsets":[0,0,0,0]}},{"__type__":"cc.SpriteFrame","content":{"name":"btn","texture":"24UbXLwj9EyZnHSdo1DKmx","rect":[0,0,345,131],"offset":[0,0.5],"originalSize":[345,132],"capInsets":[114,61.5,127,59.5]}},{"__type__":"cc.SpriteFrame","content":{"name":"default_progressbar_bg","texture":"99FwsL0hBG8bITfZ4/IwmK","rect":[0,0,60,15],"offset":[0,0],"originalSize":[60,15],"capInsets":[10,4,10,4]}},{"__type__":"cc.Texture2D","content":"0,9729,9729,33071,33071,0,0,1"},{"__type__":"cc.EffectAsset","_name":"DoomScreen","techniques":[{"passes":[{"blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"properties":{"bars":{"value":[50],"editor":{"tooltip":"列数"},"type":13},"amplitude":{"value":[2],"editor":{"tooltip":"速度:0向下移动时没有变化,值越高一些元素移动得更快"},"type":13},"noise":{"value":[0.1],"editor":{"tooltip":"速度的离散程度:0 = 无噪声,1 = 噪声很大"},"type":13},"frequency":{"value":[0.5],"editor":{"tooltip":"水平速度变化:值越大,波浪越短"},"type":13},"dripScale":{"value":[0.5],"editor":{"tooltip":"屏幕两侧条形黏连的程度:0 = 无滴落,1 = 曲线滴落"},"type":13},"time":{"value":[0],"type":13}},"program":"DoomScreen|vs|fs"}]}],"shaders":[{"hash":3275214362,"glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n highp vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n mediump vec4 cc_nativeSize;\n highp mat4 cc_matView;\n mediump mat4 cc_matViewInv;\n mediump mat4 cc_matProj;\n mediump mat4 cc_matProjInv;\n mediump mat4 cc_matViewProj;\n mediump mat4 cc_matViewProjInv;\n mediump vec4 cc_cameraPos;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nin vec3 a_position;\nin vec4 a_color;\nout vec4 v_color;\nin vec2 a_uv0;\nout vec2 v_uv0;\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n pos = cc_matViewProj * pos;\n v_uv0 = a_uv0;\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nuniform sampler2D texture2;\nuniform DoomScreen {\n float bars;\n float amplitude;\n float noise;\n float frequency;\n float dripScale;\n float time;\n};\nfloat progress = time;\nin mediump vec2 v_uv0;\nin vec4 v_color;\nvec4 getFromColor(vec2 uv) {\n return texture(texture, uv);\n}\nvec4 getToColor(vec2 uv) {\n return texture(texture2, uv);\n}\nfloat rand(int num) {\n return fract(mod(float(num) * 67123.313, 12.0) * sin(float(num) * 10.3) * cos(float(num)));\n}\nfloat wave(int num) {\n float fn = float(num) * frequency * 0.1 * float(bars);\n return cos(fn * 0.5) * cos(fn * 0.13) * sin((fn + 10.0) * 0.3) / 2.0 + 0.5;\n}\nfloat drip(int num) {\n return sin(float(num) / float(bars - 1.0) * 3.141592) * dripScale;\n}\nfloat pos(int num) {\n return (noise == 0.0 ? wave(num) : mix(wave(num), rand(num), noise)) + (dripScale == 0.0 ? 0.0 : drip(num));\n}\nvec4 transition(vec2 uv) {\n int bar = int(uv.x * (float(bars)));\n float scale = 1.0 + pos(bar) * amplitude;\n float phase = progress * scale;\n float posY = uv.y / vec2(1.0).y;\n vec2 p;\n vec4 c;\n if (phase + posY < 1.0) {\n p = vec2(uv.x, uv.y + mix(0.0, vec2(1.0).y, phase)) / vec2(1.0).xy;\n c = getFromColor(p);\n } else {\n p = uv.xy / vec2(1.0).xy;\n c = getToColor(p);\n }\n return c;\n}\nvoid main () {\n gl_FragColor = v_color * transition(v_uv0);\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mediump mat4 cc_matViewProj;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n pos = cc_matViewProj * pos;\n v_uv0 = a_uv0;\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nuniform sampler2D texture2;\nuniform float bars;\nuniform float amplitude;\nuniform float noise;\nuniform float frequency;\nuniform float dripScale;\nuniform float time;\nfloat progress = time;\nvarying mediump vec2 v_uv0;\nvarying vec4 v_color;\nvec4 getFromColor(vec2 uv) {\n return texture2D(texture, uv);\n}\nvec4 getToColor(vec2 uv) {\n return texture2D(texture2, uv);\n}\nfloat rand(int num) {\n return fract(mod(float(num) * 67123.313, 12.0) * sin(float(num) * 10.3) * cos(float(num)));\n}\nfloat wave(int num) {\n float fn = float(num) * frequency * 0.1 * float(bars);\n return cos(fn * 0.5) * cos(fn * 0.13) * sin((fn + 10.0) * 0.3) / 2.0 + 0.5;\n}\nfloat drip(int num) {\n return sin(float(num) / float(bars - 1.0) * 3.141592) * dripScale;\n}\nfloat pos(int num) {\n return (noise == 0.0 ? wave(num) : mix(wave(num), rand(num), noise)) + (dripScale == 0.0 ? 0.0 : drip(num));\n}\nvec4 transition(vec2 uv) {\n int bar = int(uv.x * (float(bars)));\n float scale = 1.0 + pos(bar) * amplitude;\n float phase = progress * scale;\n float posY = uv.y / vec2(1.0).y;\n vec2 p;\n vec4 c;\n if (phase + posY < 1.0) {\n p = vec2(uv.x, uv.y + mix(0.0, vec2(1.0).y, phase)) / vec2(1.0).xy;\n c = getFromColor(p);\n } else {\n p = uv.xy / vec2(1.0).xy;\n c = getToColor(p);\n }\n return c;\n}\nvoid main () {\n gl_FragColor = v_color * transition(v_uv0);\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[],"blocks":[{"name":"DoomScreen","members":[{"name":"bars","type":13,"count":1},{"name":"amplitude","type":13,"count":1},{"name":"noise","type":13,"count":1},{"name":"frequency","type":13,"count":1},{"name":"dripScale","type":13,"count":1},{"name":"time","type":13,"count":1}],"defines":[],"binding":0}],"samplers":[{"name":"texture","type":29,"count":1,"defines":[],"binding":30},{"name":"texture2","type":29,"count":1,"defines":[],"binding":31}],"record":null,"name":"DoomScreen|vs|fs"}]},{"__type__":"cc.Material","_name":"DoomScreen","_effectAsset":{"__uuid__":"92FkLU5lVCoatgY3UzOCQ9"},"_techniqueData":{"0":{"props":{},"defines":{}}}},{"__type__":"cc.Material","_name":"PolkaDotsCurtain","_effectAsset":{"__uuid__":"b8BeMnCZ9MuKZr68p8lsDn"},"_techniqueData":{"0":{"defines":{"USE_TEXTURE":true},"props":{"center":{"__type__":"cc.Vec2","y":1},"dots":80}}}},{"__type__":"cc.Texture2D","content":"0,9729,9729,33071,33071,0,0,1"},{"__type__":"cc.SpriteFrame","content":{"name":"default_panel","texture":"d8HsitJHxOYqo801xBk8ev","rect":[0,0,20,20],"offset":[0,0],"originalSize":[20,20],"capInsets":[6,6,6,6]}},{"__type__":"cc.Material","_name":"SquaresWire","_effectAsset":{"__uuid__":"7bLv2mzU1Da7UEaR/0oS+M"},"_techniqueData":{"0":{"defines":{"USE_TEXTURE":true},"props":{"smoothness":0.4,"time":0,"squares":{"__type__":"cc.Vec2","x":30,"y":20},"direction":{"__type__":"cc.Vec2","x":1,"y":-0.5}}}}},{"__type__":"cc.EffectAsset","_name":"Wind","techniques":[{"passes":[{"blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"properties":{"texture":{"value":"white","type":29},"windWidth":{"value":[0.2],"type":13},"time":{"value":[0],"type":13}},"program":"Wind|vs|fs"}]}],"shaders":[{"hash":3273963925,"glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n highp vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n mediump vec4 cc_nativeSize;\n highp mat4 cc_matView;\n mediump mat4 cc_matViewInv;\n mediump mat4 cc_matProj;\n mediump mat4 cc_matProjInv;\n mediump mat4 cc_matViewProj;\n mediump mat4 cc_matViewProjInv;\n mediump vec4 cc_cameraPos;\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\nin vec2 a_uv0;\nout vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nuniform sampler2D texture2;\nuniform Common {\n float windWidth;\n float time;\n};\nfloat progress = time;\nin mediump vec2 v_uv0;\nin vec4 v_color;\nvec4 getFromColor(vec2 uv) {\n return texture(texture, uv);\n}\nvec4 getToColor(vec2 uv) {\n return texture(texture2, uv);\n}\nfloat rand(vec2 co){\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\nvec4 transition (vec2 uv) {\n float r = rand(vec2(0, uv.y));\n float m = smoothstep(0.0, -windWidth, uv.x*(1.0-windWidth) + windWidth*r - (progress * (1.0 + windWidth)));\n return mix(\n getFromColor(uv),\n getToColor(uv),\n m\n );\n}\nvoid main () {\n gl_FragColor = v_color * transition(v_uv0);\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mediump mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\n#if USE_TEXTURE\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nuniform sampler2D texture2;\nuniform float windWidth;\nuniform float time;\nfloat progress = time;\nvarying mediump vec2 v_uv0;\nvarying vec4 v_color;\nvec4 getFromColor(vec2 uv) {\n return texture2D(texture, uv);\n}\nvec4 getToColor(vec2 uv) {\n return texture2D(texture2, uv);\n}\nfloat rand(vec2 co){\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\nvec4 transition (vec2 uv) {\n float r = rand(vec2(0, uv.y));\n float m = smoothstep(0.0, -windWidth, uv.x*(1.0-windWidth) + windWidth*r - (progress * (1.0 + windWidth)));\n return mix(\n getFromColor(uv),\n getToColor(uv),\n m\n );\n}\nvoid main () {\n gl_FragColor = v_color * transition(v_uv0);\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"USE_TEXTURE","type":"boolean","defines":[]},{"name":"CC_USE_MODEL","type":"boolean","defines":[]}],"blocks":[{"name":"Common","members":[{"name":"windWidth","type":13,"count":1},{"name":"time","type":13,"count":1}],"defines":[],"binding":0}],"samplers":[{"name":"texture","type":29,"count":1,"defines":[],"binding":30},{"name":"texture2","type":29,"count":1,"defines":[],"binding":31}],"record":null,"name":"Wind|vs|fs"}]},{"__type__":"cc.Material","_name":"Morph","_effectAsset":{"__uuid__":"fd6IsQ4wFDb415UJPAoS8S"},"_techniqueData":{"0":{"defines":{"USE_TEXTURE":true}}}},{"__type__":"cc.Texture2D","content":"1,9729,9729,33071,33071,0,0,1"},{"__type__":"cc.EffectAsset","_name":"PolkaDotsCurtain","techniques":[{"passes":[{"blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"properties":{"texture":{"value":"white","type":29},"dots":{"value":[80],"type":13},"center":{"value":[0,1],"type":14},"time":{"value":[0],"type":13}},"program":"PolkaDotsCurtain|vs|fs"}]}],"shaders":[{"hash":270681468,"glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n highp vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n mediump vec4 cc_nativeSize;\n highp mat4 cc_matView;\n mediump mat4 cc_matViewInv;\n mediump mat4 cc_matProj;\n mediump mat4 cc_matProjInv;\n mediump mat4 cc_matViewProj;\n mediump mat4 cc_matViewProjInv;\n mediump vec4 cc_cameraPos;\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\nin vec2 a_uv0;\nout vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nuniform sampler2D texture2;\nuniform Common {\n vec2 center;\n float dots;\n float time;\n};\nfloat progress = time;\nin mediump vec2 v_uv0;\nin vec4 v_color;\nvec4 getFromColor(vec2 uv) {\n return texture(texture, uv);\n}\nvec4 getToColor(vec2 uv) {\n return texture(texture2, uv);\n}\nvec4 transition(vec2 uv) {\n float distanceToCenter = distance(uv, center);\n float distanceToDotsCenter = distance(fract(uv * dots), vec2(0.5, 0.5));\n bool nextImage = distanceToDotsCenter < (progress / distanceToCenter);\n return nextImage ? getToColor(uv) : getFromColor(uv);\n}\nvoid main () {\n gl_FragColor = v_color * transition(v_uv0);\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mediump mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\n#if USE_TEXTURE\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nuniform sampler2D texture2;\nuniform vec2 center;\nuniform float dots;\nuniform float time;\nfloat progress = time;\nvarying mediump vec2 v_uv0;\nvarying vec4 v_color;\nvec4 getFromColor(vec2 uv) {\n return texture2D(texture, uv);\n}\nvec4 getToColor(vec2 uv) {\n return texture2D(texture2, uv);\n}\nvec4 transition(vec2 uv) {\n float distanceToCenter = distance(uv, center);\n float distanceToDotsCenter = distance(fract(uv * dots), vec2(0.5, 0.5));\n bool nextImage = distanceToDotsCenter < (progress / distanceToCenter);\n return nextImage ? getToColor(uv) : getFromColor(uv);\n}\nvoid main () {\n gl_FragColor = v_color * transition(v_uv0);\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"USE_TEXTURE","type":"boolean","defines":[]},{"name":"CC_USE_MODEL","type":"boolean","defines":[]}],"blocks":[{"name":"Common","members":[{"name":"center","type":14,"count":1},{"name":"dots","type":13,"count":1},{"name":"time","type":13,"count":1}],"defines":[],"binding":0}],"samplers":[{"name":"texture","type":29,"count":1,"defines":[],"binding":30},{"name":"texture2","type":29,"count":1,"defines":[],"binding":31}],"record":null,"name":"PolkaDotsCurtain|vs|fs"}]},{"__type__":"cc.Material","_name":"GlitchMemories","_effectAsset":{"__uuid__":"47jWdFZAZPA4T0GUr5pbic"},"_techniqueData":{"0":{"defines":{"USE_TEXTURE":true}}}},{"__type__":"cc.Texture2D","content":"0,9729,9729,33071,33071,0,0,1"},{"__type__":"cc.Texture2D","content":"0,9729,9729,33071,33071,0,0,1"},{"__type__":"cc.Texture2D","content":"0,9729,9729,33071,33071,0,0,1"},{"__type__":"cc.Material","_name":"Perlin","_effectAsset":{"__uuid__":"37FTUOwl1K+qBr5LSApu3v"},"_techniqueData":{"0":{"props":{"seed":12.9898,"scale":30,"smoothness":0.05},"defines":{"USE_TEXTURE":true}}}},{"__type__":"cc.Texture2D","content":"0,9729,9729,33071,33071,0,0,1"},{"__type__":"cc.Material","_name":"builtin-2d-sprite","_effectAsset":{"__uuid__":"28dPjdQWxEQIG3VVl1Qm6T"},"_techniqueData":{"0":{"defines":{"USE_TEXTURE":true}}}},{"__type__":"cc.SpriteFrame","content":{"name":"avatar","texture":"fa7+FnFaNF8YKBkguhHdD2","rect":[0,0,1350,1350],"offset":[0,0],"originalSize":[1350,1350],"capInsets":[0,0,0,0]}},{"__type__":"cc.Material","_name":"strip-lt","_effectAsset":{"__uuid__":"6bIz7i721O5ZskmZut/P9o"},"_techniqueData":{"0":{"props":{"direction":{"__type__":"cc.Vec2","x":-1,"y":1}},"defines":{}}}},{"__type__":"cc.Texture2D","content":"0,9729,9729,33071,33071,0,0,1"},{"__type__":"cc.EffectAsset","_name":"Morph","techniques":[{"passes":[{"blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"properties":{"texture":{"value":"white","type":29},"strength":{"value":[0.1],"type":13},"time":{"value":[0],"type":13}},"program":"Morph|vs|fs"}]}],"shaders":[{"hash":3685629665,"glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n highp vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n mediump vec4 cc_nativeSize;\n highp mat4 cc_matView;\n mediump mat4 cc_matViewInv;\n mediump mat4 cc_matProj;\n mediump mat4 cc_matProjInv;\n mediump mat4 cc_matViewProj;\n mediump mat4 cc_matViewProjInv;\n mediump vec4 cc_cameraPos;\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\nin vec2 a_uv0;\nout vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nuniform sampler2D texture2;\nuniform Common {\n float strength;\n float time;\n};\nfloat progress = time;\nin mediump vec2 v_uv0;\nin vec4 v_color;\nvec4 getFromColor(vec2 uv) {\n return texture(texture, uv);\n}\nvec4 getToColor(vec2 uv) {\n return texture(texture2, uv);\n}\nvec4 transition(vec2 p) {\n vec4 ca = getFromColor(p);\n vec4 cb = getToColor(p);\n vec2 oa = (((ca.rg + ca.b) * 0.5) * 2.0 - 1.0);\n vec2 ob = (((cb.rg + cb.b) * 0.5) * 2.0 - 1.0);\n vec2 oc = mix(oa, ob, 0.5) * strength;\n float w0 = progress;\n float w1 = 1.0 - w0;\n return mix(getFromColor(p + oc * w0), getToColor(p - oc * w1), progress);\n}\nvoid main () {\n gl_FragColor = v_color * transition(v_uv0);\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mediump mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\n#if USE_TEXTURE\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nuniform sampler2D texture2;\nuniform float strength;\nuniform float time;\nfloat progress = time;\nvarying mediump vec2 v_uv0;\nvarying vec4 v_color;\nvec4 getFromColor(vec2 uv) {\n return texture2D(texture, uv);\n}\nvec4 getToColor(vec2 uv) {\n return texture2D(texture2, uv);\n}\nvec4 transition(vec2 p) {\n vec4 ca = getFromColor(p);\n vec4 cb = getToColor(p);\n vec2 oa = (((ca.rg + ca.b) * 0.5) * 2.0 - 1.0);\n vec2 ob = (((cb.rg + cb.b) * 0.5) * 2.0 - 1.0);\n vec2 oc = mix(oa, ob, 0.5) * strength;\n float w0 = progress;\n float w1 = 1.0 - w0;\n return mix(getFromColor(p + oc * w0), getToColor(p - oc * w1), progress);\n}\nvoid main () {\n gl_FragColor = v_color * transition(v_uv0);\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"USE_TEXTURE","type":"boolean","defines":[]},{"name":"CC_USE_MODEL","type":"boolean","defines":[]}],"blocks":[{"name":"Common","members":[{"name":"strength","type":13,"count":1},{"name":"time","type":13,"count":1}],"defines":[],"binding":0}],"samplers":[{"name":"texture","type":29,"count":1,"defines":[],"binding":30},{"name":"texture2","type":29,"count":1,"defines":[],"binding":31}],"record":null,"name":"Morph|vs|fs"}]}] |