Point Cloud
example 2
HTML
<div id="info">PointCloud Example2</div>
<script src="http://cdnjs.cloudflare.com/ajax/libs/three.js/r70/three.min.js"></script>
CSS
#info {
position: absolute;
top: 0px;
width: 100%;
padding: 10px;
text-align: center;
color: #ffff00
}
body {
overflow: hidden;
}
JavaScript
// from
// http://threejs.org/examples/webgl_particles_billboards.html
var container, stats;
var camera, scene, renderer, particles, geometry, material, i, h, color, sprite, size;
var mouseX = 0,
mouseY = 0;
var windowHalfX = window.innerWidth / 2;
var windowHalfY = window.innerHeight / 2;
init();
animate();
function init() {
container = document.createElement('div');
document.body.appendChild(container);
camera = new THREE.PerspectiveCamera(55, window.innerWidth / window.innerHeight, 2, 2000);
camera.position.z = 1000;
scene = new THREE.Scene();
scene.fog = new THREE.FogExp2(0x000000, 0.001);
geometry = new THREE.Geometry();
THREE.ImageUtils.crossOrigin = '';
sprite = THREE.ImageUtils.loadTexture("http://i.imgur.com/HMjPT3I.png");
for (i = 0; i < 10000; i++) {
var vertex = new THREE.Vector3();
vertex.x = 2000 * Math.random() - 1000;
vertex.y = 2000 * Math.random() - 1000;
vertex.z = 2000 * Math.random() - 1000;
geometry.vertices.push(vertex);
}
material = new THREE.PointCloudMaterial({
size: 10,
sizeAttenuation: false,
map: sprite,
alphaTest: 0.5,
transparent: true
});
material.color.setHSL(1.0, 0.3, 0.7);
particles = new THREE.PointCloud(geometry, material);
scene.add(particles);
//
renderer = new THREE.WebGLRenderer();
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(window.innerWidth, window.innerHeight);
container.appendChild(renderer.domElement);
//
document.addEventListener('mousemove', onDocumentMouseMove, false);
// for iPad, iphone, ... those with touch screen
document.addEventListener('touchstart', onDocumentTouchStart, false);
document.addEventListener('touchmove', onDocumentTouchMove, false);
//
window.addEventListener('resize', onWindowResize, false);
}
function onWindowResize() {
windowHalfX =...