Toggle navigation
Sign Up
Log In
Explore
Works
Folders
Tools
Collections
Artists
Groups
Groups
Topics
Tasks
Tasks
Jobs
Teams
Jobs
Recommendation
More Effects...
JS
var ww = window.innerWidth, wh = window.innerHeight; var renderer = new THREE.WebGLRenderer({ canvas: document.querySelector("canvas"), antialias : true }); renderer.setClearColor(0x000000); renderer.setSize(ww, wh); renderer.setPixelRatio(window.devicePixelRatio ? window.devicePixelRatio : 1); var scene = new THREE.Scene(); var camera = new THREE.PerspectiveCamera(50, ww / wh, 1, 5000); camera.position.set(0, 0, 130); TweenMax.to(camera.rotation, 12,{ z: Math.PI*2, ease:Elastic.easeInOut.config(0.8, 0.5), yoyo:true, repeat:-1 }); function Curve(index){ this.index = index; this.radius = index*70; this.oRadius = index*70; this.offsetX = 0; this.offsetY = 0; this.color = new THREE.Color("hsl("+180+",50%,"+Math.round((1-this.index)*90)+"%)"); this.rotation = Math.random()*Math.PI; this.oRotation = Math.random()*Math.PI; var points = []; this.detail = 100; this.buffergeometry = new THREE.BufferGeometry(); this.position = new THREE.Float32BufferAttribute( this.detail * 3 +3, 3 ); this.buffergeometry.addAttribute( 'position', this.position ); this.material = new THREE.ShaderMaterial({ uniforms: { color: { value: this.color } }, vertexShader: document.getElementById("wrapVertexShader").textContent, fragmentShader: document.getElementById("wrapFragmentShader").textContent }); this.mesh = new THREE.Line( this.buffergeometry, this.material ); scene.add(this.mesh) } Curve.prototype.update = function(a){ var array = this.buffergeometry.attributes.position.array; for(var i=0;i
CSS
body{ overflow: hidden; margin: 0; cursor: pointer; }
HTML
Join Effecthub.com
Working with Global Gaming Artists and Developers!
Login
Sign Up
Or Login with Your Email Address:
Email
Password
Remember
Or Sign Up with Your Email Address:
Your Email
This field must contain a valid email
Set Password
Password should be at least 1 character
Stay informed via email