JSFiddle - React, Tailwind, and code Playground

by realhunts

HTML

<script src="https://cdn.rawgit.com/mrdoob/three.js/r85/build/three.min.js"></script>
<script src="https://stemkoski.github.io/Three.js/js/Stats.js"></script>
<script src="https://cdn.rawgit.com/mrdoob/three.js/r85/examples/js/controls/OrbitControls.js"></script>
<script src="https://cdn.rawgit.com/mrdoob/three.js/r85/examples/js/loaders/GLTF2Loader.js"></script>
<div id="container"></div>

CSS

body {
	background-color: #000;
	margin: 0px;
	overflow: hidden;
}

JavaScript

// Simple three.js example

var mesh, renderer, scene, camera, controls;

var MovingCube;
var collidableMeshList = [];
var sphere;
var stats
init();
animate();

function init() {

    // renderer
    renderer = new THREE.WebGLRenderer({
     antialias: false
    });
    renderer.setSize( window.innerWidth, window.innerHeight );
    renderer.setClearColor( 0xf0f0f0 );
    document.body.appendChild( renderer.domElement );

	// STATS
	stats = new Stats();
	stats.domElement.style.position = 'absolute';
	stats.domElement.style.top = '0px';
	stats.domElement.style.zIndex = 100;
	container.appendChild( stats.domElement );
    // scene
    scene = new THREE.Scene();
    
    // camera
    camera = new THREE.PerspectiveCamera( 40, window.innerWidth / window.innerHeight, 1, 10000 );
    camera.position.set( 20, 20, 20 );

    // controls
    controls = new THREE.OrbitControls( camera );
    
    // ambient
    scene.add( new THREE.AmbientLight( 0xffffff ) );
    
    // light
    var light = new THREE.DirectionalLight( 0xffffff, 1 );
    light.position.set( 20, 20, 0 );
    scene.add( light );
    
    // axes
    scene.add( new THREE.AxisHelper( 20 ) );

   var sphereGeometry = new THREE.SphereGeometry(100, 32, 16);
    var sphereMaterial = new THREE.MeshLambertMaterial({
        color: 0xff0000
    });
    sphere = new THREE.Mesh(sphereGeometry, sphereMaterial);
    sphere.position.x = 100;
    sphere.scale.set(.3, .3, .3)
    scene.add(sphere);
    
   var manager = new THREE.LoadingManager();
    manager.onProgress = function ( item, loaded, total ) {
        console.log( item, loaded, total );
    };

    var loader = new THREE.GLTF2Loader();
    loader.setCrossOrigin( 'anonymous' );

THREE.ImageUtils.crossOrigin = '';
var texture = THREE.ImageUtils.loadTexture('https://raw.githubusercontent.com/waverider404/game-assets/master/environ/wooden_house_001a.jpg');

           var material = new THREE.MeshBasicMaterial({
  							map: texture,
});

    var scale = 3;
   
  ...