three和噪点实现漫天雪花飞舞效果
代码语言:html
所属分类:动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/three.js"></script> <style> body { margin: 0; padding: 0; } #container { position: fixed; touch-action: none; } </style> </head> <body translate="no"> <script id="vertexShader" type="x-shader/x-vertex"> void main() { gl_Position = vec4(position, 1.0); } </script> <script id="fragmentShader" type="x-shader/x-fragment"> uniform vec2 u_resolution; uniform vec2 u_mouse; uniform float u_time; uniform sampler2D u_noise; #define PI 3.141592653589793 #define TAU 6. const float multiplier = 25.5; const float zoomSpeed = 10.; const int layers = 10; const int octaves = 5; vec2 hash2(vec2 p) { vec2 o = texture2D(u_noise, (p+0.5)/256.0, -100.0).xy; return o; } mat2 rotate2d(float _angle) { return mat2(cos(_angle), sin(_angle), -sin(_angle), cos(_angle)); } vec3 hsb2rgb(in vec3 c) { vec3 rgb = clamp(abs(mod(c.x*6.0+vec3(0.0, 4.0, 2.0), 6.0)-3.0)-1.0, 0.0, 1.0); rgb = rgb*rgb*(3.0-2.0*rgb); return c.z * mix(vec3(1.0), rgb, c.y); } float hash(vec2 p) { float o = texture2D(u_noise, (p+0.5)/256.0, -100.0).x; return o; .........完整代码请登录后点击上方下载按钮下载查看
网友评论0