JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://rawgit.com/mrdoob/three.js/master/build/three.min.js"></script>
<script src="https://rawgit.com/mrdoob/three.js/master/examples/js/controls/OrbitControls.js"></script>
<div id="ThreeJS" style="position: absolute; left:0px; top:0px"></div>
JavaScript
var old = false;
var orbit = true
// standard global variables
var container, scene, camera, renderer, controls;
// custom global variables
var cube;
var projector, mouse = { x: 0, y: 0 }, INTERSECTED;
var sprite1;
var canvas1, context1, texture1;
init();
animate();
// FUNCTIONS
function init()
{
// SCENE
scene = new THREE.Scene();
// CAMERA
var SCREEN_WIDTH = window.innerWidth, SCREEN_HEIGHT = window.innerHeight;
var VIEW_ANGLE = 45, ASPECT = SCREEN_WIDTH / SCREEN_HEIGHT, NEAR = 0.1, FAR = 20000;
camera = new THREE.PerspectiveCamera( VIEW_ANGLE, ASPECT, NEAR, FAR);
scene.add(camera);
camera.position.set(0,150,400);
camera.lookAt(scene.position);
// RENDERER
renderer = new THREE.WebGLRenderer( {antialias:true} );
renderer.setSize(SCREEN_WIDTH, SCREEN_HEIGHT);
container = document.getElementById( 'ThreeJS' );
container.appendChild( renderer.domElement );
// CONTROLS
if (orbit) {
controls = new THREE.OrbitControls( camera, renderer.domElement );
}
else {
controls = new THREE.TrackballControls( camera, renderer.domElement );
}
// bgcolor
renderer.setClearColor( 0x888888, 1 );
////////////
// CUSTOM //
////////////
var cubeGeometry = new THREE.CubeGeometry( 100, 100, 100 );
var cubeMaterial = new THREE.MeshNormalMaterial();
cube = new THREE.Mesh( cubeGeometry, cubeMaterial );
cube.position.set(0,50.1,0);
cube.name = "Cube";
scene.add(cube);
var spritey = makeTextSprite( "0",
{ fontsize: 24, borderColor: {r:255, g:0, b:0, a:1.0}, backgroundColor: {r:255, g:100, b:100, a:0.8} } );
spritey.position.set(-85,105,55);
scene.add( spritey );
var spritey = makeTextSprite( "1",
{ fontsize: 32, fontface: "Georgia", borderColor: {r:0, g:0, b:255, a:1.0} } );
spritey.position.set(55,105,55);
scene.add( spritey );
}
function makeTextSprite( message, parameters )
{
if ( parameters === undefined ) parameters = {};
var fontface = parameters.hasOwnProperty("fontface") ?
parameters["fontface"] :...