three+TweenMax实现炫酷数字加载进度条动画效果代码
代码语言:html
所属分类:进度条
代码描述:three+TweenMax实现炫酷数字加载进度条动画效果代码
代码标签: three TweenMax 炫酷 数字 加载 进度条 动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body { margin: 0; overflow: hidden; position: fixed; } canvas { width: 100%; height: 100%; } </style> </head> <body> <!-- partial:index.partial.html --> <script id="vertexShader" type="x-shader/x-vertex"> varying vec2 vUv; void main() { vUv = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); } </script> <script id="fragmentShader" type="x-shader/x-fragment"> varying vec2 vUv; uniform sampler2D texture; uniform sampler2D texture2; uniform sampler2D disp; uniform float time; uniform float random; uniform float dispFactor; vec2 rotate(vec2 v, float a) { float s = sin(a); float c = cos(a); mat2 m = mat2(c, -s, s, c); return m * v; } void main() { vec2 uv = vUv; vec2 newUV = vec2(uv.x, uv.y); newUV -= 0.5; vec2 rotUV = rotate(newUV, random); rotUV += 0.5; vec4 disp = texture2D(disp, rotUV); vec2 distortedPosition = vec2(uv.x + dispFactor * (disp.g*0.3), uv.y); vec2 distortedPosition2 = vec2(uv.x - (1.0 - dispFactor) * (disp.g*0.3), uv.y); vec4 _texture = texture2D(texture, distortedPosition); vec4 _texture2 = texture2D(texture2, distortedPosition2); vec2 distortedPosition3 = vec2(uv.x + dispFactor * (disp.g*0.25), uv.y); vec4 _texture3 = texture2D(texture2, distortedPosition3); vec4 finalTexture = mix(_texture, _texture2, dispFactor); vec4 finalTexture2 = mix(_texture, _texture3, dispFactor); gl_FragColor = finalTexture * finalTexture2; } </script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/three.84.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/TweenMax.min.js"></script><script > window.addEventListener("resize", onWindowResize); var frustumSize = 600; var aspect = window.innerWidth / window.innerHeight; var clock = new THREE.Clock(true); var scene = new THREE.Scene(); camera = new THREE.OrthographicCamera( frustumSize * aspect / -2, frustumSize * aspect / 2, frustumSize / 2, frustumSize / -2, 1, 2000 ); camera.lookAt(scene.position); camera.position.z = 1; var renderer = new THREE.WebGLRenderer(); renderer.setPixelRatio = 1; renderer.setClearColor(0xffffff, 1.0); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); function onWindowResize() { var aspect = window.innerWidth / window.innerHeight; camera.left = -frustumSize * aspect / 2; camera.right = frustumSize * aspect / 2; camera.top = frustumSize / 2; camera.bottom = -frustumSize / 2; camera.updateProjectionMatrix(); renderer.setSize(window.innerWidth, window.innerHeight); } var addToGPU = function(t) { renderer.setTextu.........完整代码请登录后点击上方下载按钮下载查看
网友评论0