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