threejs实现三维虫洞旋涡动画效果代码

代码语言:html

所属分类:三维

代码描述:threejs实现三维虫洞旋涡动画效果代码

代码标签: three 旋涡 虫洞 三维

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">
<head>

<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-min.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 sampler2D u_noise;

        #define PI 3.141592653589793
        #define TAU 6.283185307179586

        const int octaves = 2;
        const float seed = 43758.5453123;
        const float seed2 = 73156.8473192;

        // float r1 = 0.1 + ((u_mouse.y + 0.5) * .1);
        // float r2 = 0.4 + (u_mouse.x * .2);
        float r1 = 0.2;
        float r2 = 0.9;

        // These awesome complex Math functions curtesy of
        // https://github.com/mkovacs/reim/blob/master/reim.glsl
        vec2 cCis(float r);
        vec2 cLog(vec2 c); // principal value
        vec2 cInv(vec2 c);
        float cArg(vec2 c);
        float cAbs(vec2 c);

        vec2 cMul(vec2 a, vec2 b);
        vec2 cDiv(vec2 a, vec2 b);

        vec2 cCis(float r)
        {
        return vec2( cos(r), sin(r) );
        }
        vec2 cExp(vec2 c)
        {
        return exp(c.x) * cCis(c.y);
        }
.........完整代码请登录后点击上方下载按钮下载查看

网友评论0