{
const renderer = new THREE.WebGLRenderer({
antialias: true
});
const controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.minDistance = 1.5;
controls.maxDistance = 8;
const light = new THREE.AmbientLight(0x404040, 4);
scene.add(light);
renderer.setSize(width, height);
renderer.setPixelRatio(devicePixelRatio);
const texture = await loadTexture(
await FileAttachment("ct5km_ssta_v3.1_20150702_1.png").url()
);
texture.anisotropy = 16;
const material = new THREE.MeshStandardMaterial({
map: texture
});
const geometry = new THREE.SphereGeometry(1, 64, 32);
const sphere = new THREE.Mesh(geometry, material);
scene.add(sphere);
renderer.render(scene, camera);
controls.addEventListener("change", () => renderer.render(scene, camera));
invalidation.then(() => (controls.dispose(), renderer.dispose()));
let ind = 0;
function animate() {
scene.rotation.y += 0.0004;
requestAnimationFrame(animate);
renderer.render(scene, camera);
}
animate();
return renderer.domElement;
}