three实现彩色时间涟漪动画效果代码
代码语言:html
所属分类:动画
代码描述:three实现彩色时间涟漪动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body { margin: 0; padding: 0; } #container { position: fixed; touch-action: none; } </style> </head> <body > <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/three.88.js"></script> <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 vec3 u_colours[ 5 ]; const float multiplier = 1.2; const float zoomSpeed = 4.; const int layers = 12; const int octaves = 1; const float seed = 43758.5453123; const float seed2 = 73156.8473192; float random(float val) { return fract(sin(val) * seed); } vec2 random2(vec2 st, float seed){ st = vec2( dot(st,vec2(127.1,311.7)), dot(st,vec2(269.5,183.3)) ); return -1.0 + 2.0*fract(sin(st)*seed); } mat2 rotate2d(float _angle){ return mat2(cos(_angle),sin(_angle), -sin(_angle),cos(_angle)); } // Value Noise by Inigo Quilez - iq/2013 // https://www.shadertoy.com/view/lsf3WH float noise(vec2 st, float seed) { vec2 i = floor(st); vec2 f = fract(st); vec2 u = f*f*(3.0-2.0*f); return mix( mix( dot(.........完整代码请登录后点击上方下载按钮下载查看
网友评论0