function reusable3dCanvas( existingCanvas ) {
if ( existingCanvas ) {
existingCanvas.redraw3d()
return existingCanvas
} else {
const camera = new THREE.OrthographicCamera();
camera.left = -1
camera.right = 1
camera.top = -1
camera.bottom = 1
camera.near = -100
camera.far = 100
camera.updateProjectionMatrix()
const scene = new THREE.Scene()
scene.add(mesh)
const renderer = new THREE.WebGLRenderer({antialias: true})
renderer.setPixelRatio(window.devicePixelRatio)
renderer.setSize(256, 256)
renderer.domElement.redraw3d = function() {
renderer.render( scene, camera )
}
return renderer.domElement
}
}