JSFiddle - React, Tailwind, and code Playground

by Douglas Duhaime

JavaScript

var camera, scene, renderer;
			var mesh;

			init();
			animate();

			function init() {

				renderer = new THREE.WebGLRenderer();
				renderer.setSize( window.innerWidth, window.innerHeight );
				document.body.appendChild( renderer.domElement );

				//

				camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 1000 );
				camera.position.z = 400;

				scene = new THREE.Scene();
                  var materials = [];

				var geometry = new THREE.PlaneGeometry(400, 400, 10, 10);
                                 geometry.faceVertexUvs[0] = [];
                 for(var i = 0; i < geometry.faces.length; i++){      
                     
                     
                     geometry.faceVertexUvs[0].push([
							new THREE.Vector2( 0,0 ),
							new THREE.Vector2( 0,1 ),
							new THREE.Vector2( 1,1),    
					        new THREE.Vector2( 1,0),    
						]);
                     
                     
                     geometry.faces[i].materialIndex = i;
                     materials.push(createTexture(i, "#"+Math.random().toString(16).slice(2,8)));
                     
                 }    
				geometry.computeFaceNormals();
                
                geometry.dynamic = true;
                geometry.uvsNeedUpdate = true;	

				//var material = new THREE.MeshBasicMaterial( { color: 0x9955ee } );
              
                
                
				mesh = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial(materials) );
                mesh.rotation.set(0,Math.PI,Math.PI)
				scene.add( mesh );

				//

				window.addEventListener( 'resize', onWindowResize, false );

			}

			function onWindowResize() {

				camera.aspect = window.innerWidth / window.innerHeight;
				camera.updateProjectionMatrix();

				renderer.setSize( window.innerWidth, window.innerHeight );

			}

			function animate() {

				requestAnimationFrame( animate );

//				mesh.rotation.x += 0.005;
//				mesh.rotation.y += 0.01;

				renderer.render(...