JSFiddle - React, Tailwind, and code Playground
by realhunts
HTML
<script src="https://threejs.org/build/three.min.js"></script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js"></script>
<script src="https://rawcdn.githack.com/supereggbert/proctree.js/master/proctree.js"></script>
JavaScript
// a basic three.js scene
var container, renderer, scene, camera, controls;
var reusableVector = new THREE.Vector3();
var reusableVector2 = new THREE.Vector2();
init();
animate();
function init() {
// renderer
renderer = new THREE.WebGLRenderer({
antialias: true
});
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setClearColor(0xccccff);
container = document.createElement('div');
document.body.appendChild(container);
container.appendChild(renderer.domElement);
// scene
scene = new THREE.Scene();
scene.background = new THREE.Color( new THREE.Color("gray") );
scene.fog = new THREE.FogExp2(new THREE.Color("gray"),.002 );
// camera
camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 10000);
camera.position.set(183.566125111109, 778.6817373625164, 199.8955467482581);
camera.lookAt(scene.position);
// (camera) controls
// mouse controls: left button to rotate,
// mouse wheel to zoom, right button to pan
controls = new THREE.OrbitControls(camera, renderer.domElement);
// light
var light = new THREE.DirectionalLight( 0xffffff, 0.6 );
light.position.set(100, 250, 250);
scene.add(light);
var amb = new THREE.AmbientLight( new THREE.Color("#60A1E1").multiplyScalar(2.2), .94 ); // soft white light
scene.add( amb );
//proctree
var textureLoader = new THREE.TextureLoader();
THREE.TextureLoader.crossOrigin = '';
var twigtexture = textureLoader.load("https://cdn.glitch.com/832401c3-8cbf-42db-acce-98209736affc%2Fsnowy_maple.png?v=1576707814110")
var trunktexture = textureLoader.load("https://cdn.glitch.com/832401c3-8cbf-42db-acce-98209736affc%2F111426738-texture-of-snow-covered-pine-tree-bark.jpg?v=1576708738058")
// Helper function to transform the vertices and faces
function newTreeGeometry(tree, isTwigs) {
var output = new THREE.Geometry();
tree[ isTwigs ?...