webgl+canvas实现全屏彩色线条屏保动画效果代码
代码语言:html
所属分类:动画
代码描述:webgl+canvas实现全屏彩色线条屏保动画效果代码
代码标签: webgl canvas 全屏 彩色 线条 屏保 动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
html,
body {
padding: 0;
margin: 0;
overflow: hidden;
height: 100dvh;
width: 100dvw;
background: #1D1E22;
}
body {
display: flex;
justify-content: center;
align-items: center;
color: #7C808F;
}
canvas {
height: 100dvh;
width: 100dvw;
}
#gui-node {
position: absolute;
top: 0;
right: 0;
}
</style>
<script>
window.console = window.console || function(t) {};
</script>
</head>
<body translate="no">
<!--
O o o---o o
/ \ | / |
o---oo-o -o- -O- o o O-o
| || | / | | | |
o oo o o---o o--o o-o
-->
<!--
Canvas version
https://codepen.io/artzub/pen/emmwYPW
-->
<canvas id="webgl"></canvas>
<div id="#gui-node"></div>
<script id="vxShader" type="x-shader/x-vertex">
attribute vec2 aPosition;
void main() {
gl_Position = vec4(aPosition, 0.0, 1.0);
}
</script>
<script id="fragShader" type="x-shader/x-fragment">
#ifdef GL_ES
precision mediump float;
#endif
#define PI 3.14159265359
#define PI2 2. * PI
// HSL to RGB
// take from https://github.com/Experience-Monks/glsl-hsl2rgb/blob/master/index.glsl
float hue2rgb(float f1, float f2, float hue) {
if (hue < 0.0)
hue += 1.0;
else if (hue > 1.0)
hue -= 1.0;
float res;
if ((6.0 * hue) < 1.0)
res = f1 + (f2 - f1) * 6.0 * hue;
else if ((2.0 * hue) < 1.0)
res = f2;
else if ((3..........完整代码请登录后点击上方下载按钮下载查看
















网友评论0