js实现材质球在槽中流动动画背景效果代码
代码语言:html
所属分类:背景
代码描述:js实现材质球在槽中流动动画背景效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> html { height: 100%; } img { display: none; } body { background: #000; overflow: hidden; padding: 0; margin: 0; width: 100%; height: 100%; text-align: center; } canvas { height: 100%; width: 100%; margin: auto; } </style> </head> <body> <!-- VertexShader code here --> <script id="vertexShader" type="x-shader/x-vertex">#version 300 es precision highp float; in vec4 vPosition; void main() { gl_Position = vPosition; } </script> <!-- FragmentShader code here --> <script id="fragmentShader" type="x-shader/x-fragment">#version 300 es precision highp float; out vec4 fragColor; uniform vec4 mouse; uniform vec2 resolution; uniform float time; #define R resolution #define M mouse #define T time #define PI 3.14159265359 #define PI2 6.28318530718 #define SQ3 1.732 mat2 rot(float a) { return mat2(cos(a),sin(a),-sin(a),cos(a)); } float hash21(vec2 p) { return fract(sin(dot(p, vec2(27.609, 57.583)))*43758.5453); } vec3 hue(float t) { vec3 d = vec3(0.725,0.153,0.153); return .55 + .45*cos(PI2*t*(vec3(.85,.97,.98)*d)); } vec4 hexGrid(vec2 uv, float scale) { uv*=scale; const vec2 s = vec2(SQ3, 1.); vec4 hC = floor(vec4(uv, uv - vec2(1, .5))/s.xyxy) + .5; vec4 h4 = vec4(uv - hC.xy*s, uv - (hC.zw + .5)*s); return dot(h4.xy, h4.xy) < dot(h4.zw, h4.zw) ? vec4(h4.xy, hC.xy) : vec4(h4.zw, hC.zw + .5); } void main( ) { vec3 C = vec3(0); v.........完整代码请登录后点击上方下载按钮下载查看
网友评论0