kernel vec4 funHouse(sampler image, vec2 center, float param1, float param2, float param3) { vec2 p, g, f; p = destCoord(); g = 1.0 - clamp(abs(p - center) / param1, 0.0, 1.0); g = smoothstep(0.0, 1.0, g); f = param2 * sin_((p - center.y) / param3); p -= f * g; return sample(image, samplerTransform(image, p)); }