JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r73/three.js" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://cdn.rawgit.com/mrdoob/three.js/master/examples/js/controls/OrbitControls.js"></script>
<div id="container"></div>
JavaScript
$(function () {
/*global variables*/
var scene, camera, renderer;
var controls, geometry, material, line;
var stats;
var SCREEN_WIDTH, SCREEN_HEIGHT;
function init() {
/*creates empty scene object and renderer*/
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, .1, 500);
renderer = new THREE.WebGLRenderer({
antialias: true
});
renderer.setClearColor(0xdddddd);
renderer.setSize(window.innerWidth, window.innerHeight);
/*add controls*/
controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.addEventListener('change', render);
/*adds helpers*/
axis = new THREE.AxisHelper(10);
scene.add(axis);
/*Camera*/
camera.position.x = 12;
camera.position.y = 21.5;
camera.position.z = 12;
camera.lookAt(scene.position);
/*Lights*/
var ambient = new THREE.AmbientLight(0x404040);
scene.add( ambient );
// Add line
geometry = new THREE.Geometry();
geometry.vertices.push(new THREE.Vector3(0, 0, 0));
geometry.vertices.push(new THREE.Vector3(5, 5, 0));
geometry.vertices.push(new THREE.Vector3(5, 5, 0));
geometry.vertices.push(new THREE.Vector3(0, 10, 0));
material = new THREE.LineBasicMaterial({color: 0xcc0000, opacity: 1.0, linewidth: 3.0});
material.vertexColors = THREE.NoColors;
line = new THREE.LineSegments(geometry, material);
line.position.set(0, 0, 0);
scene.add(line);
$("#container").append(renderer.domElement);
}
function render() {}
var colorsChanged = false;
function animate() {
requestAnimationFrame(animate);
render();
renderer.render(scene, camera);
// Color individual vertices after first render
if...