Pure THREE.JS template
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/three.js/r82/three.min.js"></script>
<script src="https://dl.dropboxusercontent.com/u/3587259/Code/Threejs/OrbitControls.js">
</script>
JavaScript
var scene, renderer, camera;
var cube;
var controls;
var tgeometry;
init();
setPoints();
animate();
function setPoints() {
for(var i = 0; i< 1000; i++) {
x = (Math.random() * 200) - 100;
y = (Math.random() * 200) - 100;
z = (Math.random() * 200) - 100;
tgeometry.vertices.push(new THREE.Vector3(x, y, z));
}
tgeometry.verticesNeedUpdate = true;
tgeometry.elementsNeedUpdate = true;
tgeometry.morphTargetsNeedUpdate = true;
tgeometry.uvsNeedUpdate = true;
tgeometry.normalsNeedUpdate = true;
tgeometry.colorsNeedUpdate = true;
tgeometry.tangentsNeedUpdate = true;
tgeometry.computeVertexNormals();
camera.updateProjectionMatrix();
controls.update();
renderer.render(scene, camera);
}
function init()
{
renderer = new THREE.WebGLRenderer( {antialias:true} );
var width = window.innerWidth;
var height = window.innerHeight;
renderer.setSize (width, height);
document.body.appendChild (renderer.domElement);
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera (45, width/height, 1, 10000);
camera.position.y = 160;
camera.position.z = 400;
camera.lookAt (new THREE.Vector3(0,0,0));
controls = new THREE.OrbitControls (camera, renderer.domElement);
var tmaterial = new THREE.PointsMaterial({
color: 0xff0000,
size: 5,
opacity: 1
});
tgeometry = new THREE.Geometry();
tgeometry.dynamic = true;
var pointCloud = new THREE.Points(tgeometry, tmaterial);
scene.add(pointCloud);
window.addEventListener ('resize', onWindowResize, false);
}
function onWindowResize ()
{
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize (window.innerWidth, window.innerHeight);
}
function animate()
{
controls.update();
requestAnimationFrame ( animate );
renderer.render (scene, camera);
}