ps 径向模糊算法(glsl)

ps 径向模糊算法(glsl),第1张

概述   下面介绍的是opengl 实现的径向模糊,可用于实现放射性效果。 #ifdef GL_ES precision mediump float; #endif uniform vec2 centerpos; uniform float GlowRange; varying vec4 v_fragmentColor; varying vec2 v_texCoord; void main()    

下面介绍的是opengl 实现的径向模糊,可用于实现放射性效果。

#ifdef GL_ES
precision mediump float;
#endif


uniform vec2 centerpos;
uniform float GlowRange;
varying vec4 v_fragmentcolor;
varying vec2 v_texCoord;
voID main()
{
vec4 clraverge=vec4(0,0);
float range=GlowRange,count=0,x1,y1;
vec2 cpos=centerpos;
for( float j = 1; j<=range ; j += 1 )
{
if(cpos.x-v_texCoord.x==0)
{
x1=v_texCoord.x;
y1=v_texCoord.y+(cpos.y-v_texCoord.y)*j/(6*range);
}
else
{
float k=(cpos.y-v_texCoord.y)/(cpos.x-v_texCoord.x);
x1=v_texCoord.x+(cpos.x-v_texCoord.x)*j/200;
if((cpos.x-v_texCoord.x)*(cpos.x-x1)<0) x1=cpos.x;
y1=cpos.y-cpos.x*k+k*x1;
if(x1<0.0||y1<0.0||x1>1.0||y1>1)
{
continue;
}
}
clraverge+=texture2D( CC_Texture0,vec2(x1,y1) );
count+=1;
}
clraverge/=count;
gl_Fragcolor =clraverge;
}

centerpos为径向中心点,GlowRange为径向范围。其基本思想是模糊沿着中心点向外一条直线上的点,采样值可以自己确定,效果 好就ok了、、~

效果图:


 总结

以上是内存溢出为你收集整理的ps 径向模糊算法(glsl)全部内容,希望文章能够帮你解决ps 径向模糊算法(glsl)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1004653.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存