if ( ! Detector.webgl ) Detector.addGetWebGLMessage();
var camera, scene, renderer;
var geometry, material, mesh;
function setup() {
var W = window.innerWidth, H = window.innerHeight;
renderer = new THREE.WebGLRenderer( { preserveDrawingBuffer: true } );
renderer.autoClearColor = false;
renderer.setSize( W, H );
document.body.appendChild( renderer.domElement );
camera = new THREE.PerspectiveCamera( 50, W/H, 1, 10000 );
camera.position.z = 500;
scene = new THREE.Scene();
for ( var i = 0; i < 100; i ++ ) {
map = THREE.ImageUtils.loadTexture('../texturez/soup.jpg');
geometry = new THREE.CylinderGeometry(100, 100, 269.12, 50, 50, false);
material = new THREE.MeshBasicMaterial({shading: THREE.FlatShading, color: 0xffffff, map: map});
mesh = new THREE.Mesh(geometry, material);
map.wrapS = map.wrapT = THREE.RepeatWrapping;
map.repeat.set( 1, 1 );
mesh.position.x = Math.random() * 1000 - 500;
mesh.position.y = Math.random() * 1000 - 500;
mesh.position.z = Math.random() * 1000 - 500;
mesh.rotation.x = Math.random() * 2 * Math.PI;
mesh.rotation.y = Math.random() * 2 * Math.PI;
mesh.rotation.z = Math.random() * 2 * Math.PI;
mesh.scale.x = mesh.scale.y = mesh.scale.z = 0.48;
scene.add( mesh );
}
}
function draw() {
requestAnimationFrame( draw );
camera.position.z = Math.sin( Date.now() * 0.002 ) * 500;
camera.lookAt(mesh.position);
renderer.render( scene, camera );
}
setup();
draw();