Homework 3

buttons

by ak532892

HTML

<div id="info">Homework 3
  <br/> pressing space to enable birdseye 
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r70/three.min.js"></script>
<script src="https://dl.dropboxusercontent.com/u/3587259/Code/Threejs/OrbitControls.js"></script>
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="https://jyunming-chen.github.io/tutsplus/js/KeyboardState.js"></script>

CSS

#info {
  position: absolute;
  top: 2%;
  width: 100%;
  padding: 10px;
  text-align: center;
  color: #ffff00
}

body {
  overflow: hidden;
}

JavaScript

var scene, renderer, camera, camera2;
var texture, mesh;
var cameraHUD, sceneHUD;
var controls;
var car;
var keyboard = new KeyboardState();
var theta = 0.0001;
var C, RC;
var RCmesh, frontMesh, rearLeftMesh, rearRightMesh;
var bodyX = 40, bodyY = 16, bodyZ = 20;
var column1Mesh, columnR = 15;
var forward = 1, stop = 0;
var overlap = false;
var stopIndex = 0;

init();
animate();

function texturedFace() {
	var geometry = new THREE.Geometry();
	geometry.vertices.push(
		new THREE.Vector3(-500, 500, 0),
		new THREE.Vector3(-500, -500, 0),
		new THREE.Vector3(500, -500, 0),
		new THREE.Vector3(500, 500, 0)
	);

	var face;
	face = new THREE.Face3(0, 1, 2);
	face.materialIndex = 0;
	geometry.faces.push(face);
	face = new THREE.Face3(0, 2, 3);
	face.materialIndex = 0;
	geometry.faces.push(face);

	geometry.faceVertexUvs[0].push([new THREE.Vector2(0, 1), new THREE.Vector2(0, 0), new THREE.Vector2(1, 0)]);
	geometry.faceVertexUvs[0].push([new THREE.Vector2(0, 1), new THREE.Vector2(1, 0), new THREE.Vector2(1, 1)]);

	geometry.computeBoundingSphere();
	geometry.computeFaceNormals();
	geometry.computeVertexNormals();

	// CORS:
	// http://stackoverflow.com/questions/24087757/three-js-and-loading-a-cross-domain-image
	THREE.ImageUtils.crossOrigin = '';
	texture = THREE.ImageUtils.loadTexture('http://i.imgur.com/BRQLEdn.jpg');
	texture.repeat.set(1, 1);
	texture.wrapS = THREE.RepeatWrapping;
	texture.wrapT = THREE.RepeatWrapping;
	//texture.minFilter = THREE.LinearMipMapLinearFilter;
	texture.minFilter = THREE.LinearFilter;
	//texture.minFilter = THREE.LinearMipMapLinearFilter;
	
	return new THREE.Mesh(geometry,
	new THREE.MeshBasicMaterial({
		map: texture,
		side: THREE.DoubleSide
	}));
}

function initHUD() {
	
	sceneHUD = new THREE.Scene();
	cameraHUD = new THREE.OrthographicCamera(-10.5, 10.5, 10.5, -10.5, -10, 10);
	cameraHUD.position.z = 5;
	sceneHUD.add(cameraHUD);

	var fframe = new THREE.Mesh(new THREE.PlaneGeometry(30, 3), new THREE.MeshBasicMaterial({
		color:...