JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//cdn.rawgit.com/mrdoob/three.js/master/build/three.min.js"></script>
JavaScript
var vector = new THREE.Vector3();
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 1, 10000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
document.addEventListener( 'mousemove', onDocumentMouseMove, false );
/// Add a point
var dotGeometry = new THREE.Geometry();
dotGeometry.vertices.push(new THREE.Vector3( 10, 10, 10));
dotGeometry.vertices.push(new THREE.Vector3( 220, 220, 220));
var dotMaterial = new THREE.PointsMaterial( { size: 10, sizeAttenuation: false } );
var dot = new THREE.Points( dotGeometry, dotMaterial );
scene.add( dot );
// Executes when the mouse "clicks"
function onDocumentMouseMove( event )
{
event.preventDefault();
var mouse2D = new THREE.Vector2();
mouse2D.x = ( event.clientX / window.innerWidth ) * 2 - 1;
mouse2D.y = - ( event.clientY / window.innerHeight ) * 2 + 1;
vector.set( mouse2D.x, mouse2D.y, 0 );
vector.unproject( camera );
dotGeometry.dynamic = true;
dotGeometry.vertices[0].copy( vector );
dotGeometry.verticesNeedUpdate = true;
console.log('test');
renderer.render(scene, camera);
}
camera.position.z = 2000;
renderer.render(scene, camera);