wtc实现带阴影大小圈圈碰撞粒子流动动画效果代码
代码语言:html
所属分类:粒子
代码描述:wtc实现带阴影大小圈圈碰撞粒子流动动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
body {
background: #666;
margin: 0;
overflow: hidden;
}
canvas {
height: 100vh;
width: 100vw;
touch-action: none;
}
.osc {
left: 0px;
position: fixed;
top: 0px;
}
.button {
position: fixed;
z-index: 10;
right: 0;
bottom: 0;
}
.controls {
position: fixed;
z-index: 10;
left: 0;
bottom: 0;
}
.playpause {
background: #AAB;
padding: 10px;
}
.playpause label {
display: block;
box-sizing: border-box;
width: 0;
height: 20px;
cursor: pointer;
border-color: transparent transparent transparent #202020;
transition: 100ms all ease;
will-change: border-width;
border-style: double;
border-width: 0px 0 0px 20px;
}
.playpause input[type='checkbox'] {
visibility: hidden;
}
.playpause.checked label {
border-style: double;
border-width: 0px 0 0px 20px;
}
.playpause label {
border-style: solid;
border-width: 10px 0 10px 20px;
}
/* } */
</style>
</head>
<body >
<script id="vertexShader_particle" type="x-shader/x-vertex">
precision highp float;
attribute vec2 reference;
attribute vec2 position;
uniform vec2 u_resolution;
uniform vec2 u_screen;
uniform sampler2D b_position;
varying vec3 v_colour;
varying float v_fogDepth;
varying float pointsize;
float rand(vec2 n) {
return fract(sin(dot(n, vec2(12.9898, 4.1414))) * 43758.5453);
}
void main() {
vec2 position = texture2D(b_position, reference).xy;
gl_PointSize = 100. * rand(reference);
pointsize = gl_PointSize;
vec2 p = position/u_resolution;
v_colour = vec3(1,1,1);
vec4 pos = vec4(position / u_resolution * 2. - 1., 0., 1.);
gl_Position = vec4(pos.xy,.........完整代码请登录后点击上方下载按钮下载查看
网友评论0