{
const renderer = new THREE.WebGLRenderer();
const size = Math.min(width, 600);
renderer.setSize(size, size);
renderer.setPixelRatio(devicePixelRatio);
const camera = new THREE.PerspectiveCamera(45, 1, 0.1, 1000).translateZ(2.8);
const controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.minDistance = 1.12;
controls.maxDistance = 10;
const scene = new THREE.Scene();
const video = document.getElementById('video');
const map = new THREE.VideoTexture(video);
scene.add(
new THREE.Mesh(
new THREE.SphereBufferGeometry(1, 32, 32),
new THREE.MeshBasicMaterial({ map })
)
);
renderer.render(scene, camera);
controls.addEventListener("change", () => renderer.render(scene, camera));
invalidation.then(() => (controls.dispose(), renderer.dispose()));
const animate = function() {
requestAnimationFrame(animate);
renderer.render(scene, camera);
};
animate();
return renderer.domElement;
}