用到的知识点主要是三角函数里面的知识:
y = a*sin(wX + b) + c
三角函数的周期是:2π / w
b: 函数图像左右移动 : 记住左加右减就对了
a: 调整最大值
c: 上下移动图像
// 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 }
alphaThreshold: { value: 0.5 }
}%
CCProgram vs %{
precision highp float;
#include <cc-global>
#include <cc-local>
in vec3 a_position;
in vec4 a_color;
out vec4 v_color;
#if USE_TEXTURE
in vec2 a_uv0;
out vec2 v_uv0;
#endif
void main () {
vec4 pos = vec4(a_position, 1);
#if CC_USE_MODEL
pos = cc_matViewProj * cc_matWorld * pos;
#else
pos = cc_matViewProj * pos;
#endif
#if USE_TEXTURE
v_uv0 = a_uv0;
#endif
v_color = a_color;
gl_Position = pos;
}
}%
CCProgram fs %{
precision highp float;
#include <alpha-test>
in vec4 v_color;
uniform ARGS {
vec2 iResolution;
float time;
}
in vec2 v_uv0;
uniform sampler2D texture;
void main () {
vec2 uv = v_uv0.xy;
uv += vec2(0.,0.05 * cos(uv.x * 10. + time * 3.));
gl_FragColor = texture2D(texture,uv);
}
}%