three.js dev template
HTML
<script src="https://rawgit.com/mrdoob/three.js/dev/build/three.js"></script>
<script src="https://rawgit.com/mrdoob/three.js/dev/examples/js/controls/OrbitControls.js"></script>
CSS
body {
background-color: #000;
margin: 0px;
overflow: hidden;
}
JavaScript
// Simple three.js example
var mesh, renderer, scene, camera, controls;
init();
animate();
function init() {
// renderer
renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
// scene
scene = new THREE.Scene();
// camera
camera = new THREE.PerspectiveCamera( 40, window.innerWidth / window.innerHeight, 1, 10000 );
camera.position.set( 20, 20, 20 );
// controls
controls = new THREE.OrbitControls( camera );
// axes
scene.add( new THREE.AxesHelper( 20 ) );
let geometry = new THREE.BufferGeometry();
let vertices = new Float32Array( 100 * 3 );
let MAX_VERTEX = 50;
//Put some vertices away from the origin
//Half of the buffer will remain empty
for (var i = 0 ; i < MAX_VERTEX; i++){
vertices[i*3] = Math.random() *10 -5;
vertices[i*3+1] = Math.random() *10 - 5;
vertices[i*3+2] = Math.random() * 5 - 10;
}
geometry.addAttribute( 'position',
new THREE.BufferAttribute( vertices, 3 ) );
geometry.setDrawRange( 0, MAX_VERTEX );
let pointsMaterial = new THREE.PointsMaterial( { size: 0.4, color: 0xF7B201 } );
let ob = new THREE.Points( geometry, pointsMaterial );
scene.add( ob );
geometry.computeBoundingBox();
helper = new THREE.Box3Helper( geometry.boundingBox , 0x00ffff );
scene.add( helper );
}
function animate() {
requestAnimationFrame( animate );
//controls.update();
renderer.render( scene, camera );
}