webgl+lil-gui实现可调节参数的眼珠眼睛图案背景动画效果代码
代码语言:html
所属分类:背景
代码描述:webgl+lil-gui实现可调节参数的眼珠眼睛图案背景动画效果代码
代码标签: webgl lil-gui 调节 参数 眼珠 图案 背景 动画 眼睛
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body, html { margin: 0; padding: 0; overflow: hidden; } canvas#eyes-pattern { display: block; width: 100%; } .lil-gui { --width: 450px; max-width: 90%; --widget-height: 20px; font-size: 15px; --input-font-size: 15px; --padding: 10px; --spacing: 10px; --slider-knob-width: 5px; --background-color: rgba(5, 0, 15, .8); --widget-color: rgba(255, 255, 255, .3); --focus-color: rgba(255, 255, 255, .4); --hover-color: rgba(255, 255, 255, .5); --font-family: monospace; } .lil-gui.autoPlace { top: 50%; left: 50%; transform-origin: center center; transform: translate(-50%, -50%); } </style> </head> <body translate="no"> <canvas id="eyes-pattern"></canvas> <script type="x-shader/x-fragment" id="vertShader"> precision mediump float; varying vec2 vUv; attribute vec2 a_position; void main() { vUv = .5 * (a_position + 1.); gl_Position = vec4(a_position, 0.0, 1.0); } </script> <script type="x-shader/x-fragment" id="fragShader"> precision mediump float; varying vec2 vUv; uniform float u_scale; uniform float u_time; uniform float u_speed; uniform float u_ratio; uniform float u_saturation; uniform float u_redness; uniform float u_blue_ratio; uniform vec2 u_pointer; #define TWO_PI 6.28318530718 // ================================================= // cell-related helpers vec2 hash(vec2 p) { p = vec2(dot(p, vec2(127.1, 311.7)), dot(p, vec2(269.5, 183.3))); return fract(sin(p)*18.5453); } // polynomial-based smooth minimum; // used for rounded Voronoi shaping float smin(float angle, float b, float k) { float h = clamp(.5 + .5 * (b - angle) / k, 0., 1.); return mix(b, angle, h) - k * h * (1. - h); } // ================================================= // eye-related helpers float rand(vec2 n) { re.........完整代码请登录后点击上方下载按钮下载查看
网友评论0