我想像这样做一个波形扭曲效果:

但我只能创造正常的正弦波.
这是我的片段着色器:
precision mediump float;
varying vec2 v_texCoord;
uniform sampler2D s_baseMap;
vec2 SineWave( vec2 p ){
float pi = 3.14159;
float A = 0.15;
float w = 10.0 * pi;
float t = 30.0*pi/180.0;
float y = sin( w*p.x + t) * A;
return vec2(p.x, p.y+y);?
}
void main(){
vec2 p = v_texCoord;
vec2 uv = SineWave( p );
vec4 tcolor = texture2D(s_baseMap, uv);
gl_FragColor = tcolor;
}
Run Code Online (Sandbox Code Playgroud)
结果是:

那么问题是如何在特定方向上扭曲波浪?
谢谢.
更新:我在计算y时扭曲x轴,但结果似乎不正确.
float x = p.x + p.y*tan( …Run Code Online (Sandbox Code Playgroud)