// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. CCEffect %{ techniques: - passes: - vert: vs frag: fs blendState: targets: - blend: true rasterizerState: cullMode: none properties: texture: { value: white } time: { value: 0 } speed: { value: 0.002 } }% CCProgram vs %{ precision highp float; #include in vec3 a_position; in mediump vec2 a_uv0; out mediump vec2 v_uv0; in vec4 a_color; out vec4 v_color; void main () { gl_Position = cc_matViewProj * vec4(a_position, 1); v_uv0 = a_uv0; v_color = a_color; } }% CCProgram fs %{ precision highp float; uniform Time { float time; }; uniform SPEED { float speed; }; uniform sampler2D texture; in mediump vec2 v_uv0; in vec4 v_color; void main () { vec2 uv = v_uv0.xy; uv.y += time * speed; uv.y = fract(uv.y); vec4 color = texture2D(texture, uv); gl_FragColor = color; } }%