0
我有一個要求,實施iOS UIImage過濾器/效果是Photoshop的扭曲波效果的副本。該波必須有多個生成器,並在CGRect中以緊密模式重複。GPUImage glsl正弦波photoshop效果
附上步驟的照片。
我在創建GLSL代碼問題再現正弦波圖案。我也試圖平滑效果的邊緣,以便向矩形外面的區域過渡並不那麼突兀。
我發現了一些產生水波紋的WebGL代碼。在中心點之前產生的波形看起來接近我所需要的,但我似乎無法得到正確的數學運算來消除水波紋(在中心點),只保留之前的重複正弦模式:
varying highp vec2 textureCoordinate;
uniform sampler2D inputImageTexture;
uniform highp float time;
uniform highp vec2 center;
uniform highp float angle;
void main() {
highp vec2 cPos = -1.0 + 2.0 * gl_FragCoord.xy/center.xy;
highp float cLength = length(cPos);
highp vec2 uv = gl_FragCoord.xy/center.xy+(cPos/cLength)*cos(cLength*12.0-time*4.0)*0.03;
highp vec3 col = texture2D(inputImageTexture,uv).xyz;
gl_FragColor = vec4(col,1.0);
}
我必須處理兩個Rect區域,一個在頂部,一個在底部。所以能夠一次處理兩個Rect區域將是理想的。加上邊緣平滑。
在此先感謝您的幫助。