ShaderJoy —— “Barrel Blur”的实现 【GLSL】
【摘要】
效果图
代码和注释
#ifdef GL_ESprecision highp float;#endif uniform sampler2D texture; const vec2 sketchSize = vec2(512., 512.);const float barrelPower = 0.4;...
效果图
代码和注释
-
#ifdef GL_ES
-
precision highp float;
-
#endif
-
-
uniform sampler2D texture;
-
-
const vec2 sketchSize = vec2(512., 512.);
-
const float barrelPower = 0.4;
-
const int num_iter = 10;
-
const float reci_num_iter_f = 1.0 / float(num_iter); // 用于迭代时归一化
-
-
/// @note 随着迭代次数增加,像素偏移更大;距离图像中心越远,像素偏移更大。
-
vec2 barrelDistortion(vec2 coord, float amt)
-
{
-
vec2 cc = coord - 0.5;
-
float dist = dot(cc, cc);
-
return coord + cc * dist * amt;
-
}
-
-
/// @note 截断到 [0., 1.] 之间
-
float sat( float t )
-
{
-
return clamp( t, 0.0, 1.0 );
-
}
-
-
/// @note /\—— 函数
-
float linterp( float t ) {
-
return sat( 1.0 - abs( 2.0*t - 1.0
文章来源: panda1234lee.blog.csdn.net,作者:panda1234lee,版权归原作者所有,如需转载,请联系作者。
原文链接:panda1234lee.blog.csdn.net/article/details/52258386
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)