您现在的位置是:主页 > news > 微信分销网站建设平台/seo网站推广招聘

微信分销网站建设平台/seo网站推广招聘

admin2025/4/30 19:12:20news

简介微信分销网站建设平台,seo网站推广招聘,打开网站速度,现在进入深圳需要什么条件Shader:数字雨目标效果实现步骤最终代码Shader:数字雨目标效果目标效果实现步骤直接绘制数字过于麻烦,所以使用了纹理。如图:资源由于资源颜色和需要的不一致,最后输出时有部分调整。color.a*(1.-color.r); color.g1.;1.首先实现没有随机的效果 float sp…

微信分销网站建设平台,seo网站推广招聘,打开网站速度,现在进入深圳需要什么条件Shader:数字雨目标效果实现步骤最终代码Shader:数字雨目标效果目标效果实现步骤直接绘制数字过于麻烦,所以使用了纹理。如图:资源由于资源颜色和需要的不一致,最后输出时有部分调整。color.a*(1.-color.r); color.g1.;1.首先实现没有随机的效果 float sp…

69dae976569a1873399b8cd196bec819.png
  • Shader:数字雨
  • 目标效果
  • 实现步骤
  • 最终代码

Shader:数字雨

目标效果

4ad7072903e767d4e20d6ac16cdd35cb.gif
目标效果

实现步骤

直接绘制数字过于麻烦,所以使用了纹理。如图:

7b72fc7c98ac7dadb8566ba807433c8b.png
资源


由于资源颜色和需要的不一致,最后输出时有部分调整。

color.a*=(1.-color.r);
color.g+=1.;

1.首先实现没有随机的效果

    float speed=10.;    // 下落速度float fade=10.;     // 消逝速度 float cycle=15.;    // 出现周期float offset=0.;    // 预偏移float index=0.;     // 数字对应下标vec2 uv=(gl_FragCoord.xy+vec2(0.,speed*u_time+offset))/vec2(11.,14.);vec2 coord=floor(uv);uv=fract(uv);vec4 color=texture2D(u_texture_0,vec2((uv.x+index)/2.,uv.y));color.a*=(1.-color.r)*(1.-1./fade*mod(coord.y+.01,cycle));color.g+=1.;gl_FragColor=color;

先划块(注意算上Y移动带来的偏移),然后对纹理取样(注意X上0对应0.-.5,1对应.5-1.),最后对alpha乘上一个有消逝速度和周期的系数。(多加.01时为了防止精度误差影响效果)
效果:

1ef3458a4352df80e42ca51f28c16717.gif
不含随机

1.加上随机

1.随机函数

        float rand(float value){return fract(sin(value*127.1452)*43758.5453123);}

函数中的两个数字时随便选的,用来调整随机效果。

2.随机

对不加随机的代码中的五个常量加上随机取值即可。

但注意前四个常量中的随机子(即随机函数参数)中需要分别在同一列中保持一致。index需要在同一个数字中保持一致。

最终代码

#ifdef GL_ES
precision mediump float;
#endifuniform vec2 u_resolution;
uniform vec2 u_mouse;
uniform float u_time;
uniform sampler2D u_texture_0;float rand(float value){return fract(sin(value*127.1452)*43758.5453123);
}void main(){float speed=100.+250.*rand(floor(gl_FragCoord.x/11.));float fade=5.+5.*rand(floor(gl_FragCoord.x/11.)+.1);float cycle=10.+15.*rand(floor(gl_FragCoord.x/11.)+.2);float offset=rand(floor(gl_FragCoord.x/11.)+.3)*250.;vec2 uv=(gl_FragCoord.xy+vec2(0.,speed*u_time+offset))/vec2(11.,14.);float coordY=floor(uv.y);float index=floor(rand(coordY+floor(u_time*2.))*2.);uv=fract(uv);vec4 color=texture2D(u_texture_0,vec2((uv.x+index)/2.,uv.y));color.a*=(1.-color.r)*(1.-1./fade*mod(coordY+.01,cycle));color.g+=1.;gl_FragColor=color;
}