three.js dev template - module

HTML

<div id="container">

</div>

CSS

body {
	margin: 0px;
}
canvas {
	display: block;
}

JavaScript

import * as THREE from "https://raw.githack.com/mrdoob/three.js/dev/build/three.module.js";
import { OrbitControls } from "https://raw.githack.com/mrdoob/three.js/dev/examples/jsm/controls/OrbitControls.js";
import { Reflector } from "https://raw.githack.com/mrdoob/three.js/dev/examples/jsm/objects/Reflector.js";

var camera, scene, renderer;

init();
render();

function init() {

	//

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

	//

	scene = new THREE.Scene();

	//

	camera = new THREE.PerspectiveCamera( 55, window.innerWidth / window.innerHeight, 1, 20000 );
	camera.position.set( 30, 30, 200 );

	//

	var geometry = new THREE.PlaneBufferGeometry( 1000, 1000 );
	
	var mirror = new Reflector(
		geometry,
		{
			textureWidth: window.innerWidth * renderer.getPixelRatio(),
			textureHeight: window.innerHeight * renderer.getPixelRatio(),
		}
	);

	mirror.rotation.x = - Math.PI / 2;

	scene.add( mirror );

	var textureLoader = new THREE.TextureLoader();

	var texture = textureLoader.load( "https://threejs.org/examples/textures/sprite0.png", render );
	var geometry = new THREE.BufferGeometry().setFromPoints( [ new THREE.Vector3( 0, 50, 0 ) ] );
	var material = new THREE.PointsMaterial( { map: texture, size: 20, transparent: true, depthWrite: false } );
	var points = new THREE.Points( geometry, material );
	scene.add( points );

	//

	var controls = new OrbitControls( camera, renderer.domElement );
	controls.addEventListener( 'change', render );

	//

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

function onWindowResize() {

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

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

}

function render() {

	renderer.render( scene, camera );

}