效果图

代码和注释
// ShaderToy 版本
#iChannel0 "file://./images/Woolly_2.png"
//const vec2 iResolution = vec2(512., 512.);
#iUniform float barrelPower = 0.4 in {0.0, 2.0}
#iUniform int num_iter = 10 in {1, 100}
/// @note 随着迭代次数增加,像素偏移更大;距离图像中心越远,像素偏移更大。
vec2 barrelDistortion(vec2 coord, float amt) {
vec2 cc = coord - 0.5;
floa