threejs+webgl实现立体球形线条穿梭动画效果代码
代码语言:html
所属分类:三维
代码描述:threejs+webgl实现立体球形线条穿梭动画效果代码
代码标签: threejs webgl 立体 球形 线条 穿梭 动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/three.126.js"></script>
<style>
* {
margin: 0;
padding: 0;
}
html {
height: 100%;
background-color: #000;
}
body {
margin: 0;
height: 100%;
font-family: 'Noto Sans JP', sans-serif;
}
#myCanvas {
overflow: hidden;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
#myCanvas canvas {
display: block;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="myCanvas"></div>
<script id="fragmentShader" type="x-shader/x-fragment">
#define TWO_PI 6.2831853072
#define PI 3.14159265359
precision highp float;
uniform vec2 resolution;
uniform float time;
varying vec2 vUv;
void main(void) {
vec2 uv = - 1.0 + 2.0 * vUv;
float t = time*0.05;
float lineWidth = 0.001;
vec3 color = vec3(0.0);
for(int j = 0; j < 3; j++){
for(int i=0; i < 10; i++){
color[j] += lineWidth*(float(i)/4.0) / abs(fract(t*0.2 - 0.001*float(j)*4.0+float(i)*0.1)*5.0 - length(uv));
//color += lineWidth / abs(fract(t*0.2 - 0.1*float(i))*4.0 - length(uv));
}
}
gl_FragColor = vec4(color[0],color[1],color[2],1.0);
}
</script>
<script id="vertexShader" type="x-shader/x-vertex">
varying vec2 vUv;
void main()
{
vUv = uv;
vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
gl_Position = projectionMatrix * mvPosition;
}
</script>
<script >
class Canvas {
constructor() {
this.sc.........完整代码请登录后点击上方下载按钮下载查看
网友评论0