mirror of https://github.com/istio/istio.io.git
3 lines
1.8 KiB
JavaScript
3 lines
1.8 KiB
JavaScript
"use strict";var container,camera,scene,renderer,particles,particle,SEPARATION=40,AMOUNTX=130,AMOUNTY=25,PARTICLE_COLOR="#6ba2d5",ANIMATION_SPEED=.015,count=0,windowHalfX=window.innerWidth/2,windowHalfY=window.innerHeight/2;document.onreadystatechange=()=>{"interactive"===document.readyState&&(init(),animate())};function init(){container=document.getElementById("banner"),camera=new THREE.PerspectiveCamera(120,container.offsetWidth/container.offsetHeight,1,1e4),camera.position.y=150,camera.position.z=150,camera.rotation.x=.35,camera.rotation.y=.75,scene=new THREE.Scene,particles=[];for(var a=2*Math.PI,b=new THREE.SpriteCanvasMaterial({color:PARTICLE_COLOR,program:function(b){b.beginPath(),b.arc(0,0,.1,0,a,!0),b.fill()}}),c=0,d=0;d<AMOUNTX;d++)for(var e=0;e<AMOUNTY;e++)particle=particles[c++]=new THREE.Sprite(b),particle.position.y=d*SEPARATION-2600,particle.position.z=e*SEPARATION-990,scene.add(particle);renderer=new THREE.CanvasRenderer({alpha:!0}),renderer.setSize(container.offsetWidth,container.offsetHeight),renderer.setClearColor(16777215,0),renderer.domElement.id="banner-animation",container.appendChild(renderer.domElement),window.addEventListener("resize",onWindowResize,!1)}function onWindowResize(){windowHalfX=window.innerWidth/2,windowHalfY=window.innerHeight/2,container=document.getElementById("banner"),camera.aspect=container.offsetWidth/container.offsetHeight,camera.updateProjectionMatrix(),renderer.setSize(container.offsetWidth,container.offsetHeight)}function animate(){requestAnimationFrame(animate),render()}function render(){for(var a=Math.sin,b=0,c=0;c<AMOUNTX;c++)for(var d=0;d<AMOUNTY;d++)particle=particles[b++],particle.position.x=50*a(.5*(d+count))+120*a(.5*(c+count)),particle.scale.x=particle.scale.y=6*(a(.3*(c+count))+2)+6*(a(.5*(d+count))+1);renderer.render(scene,camera),count+=ANIMATION_SPEED}
|
|
|
|
//# sourceMappingURL=headerAnimation.min.js.map
|