composer = {
const renderer = new THREE.WebGLRenderer();
const controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.enableZoom = false;
invalidation.then(() => (controls.dispose(), renderer.dispose()));
renderer.setSize(width, height);
renderer.setPixelRatio(devicePixelRatio);
controls.addEventListener("change", () => composer.render());
const composer = new THREE.EffectComposer(renderer);
const ssaaRenderPass = new THREE.SSAARenderPass(scene, camera);
const bloomPass = new THREE.UnrealBloomPass(
new THREE.Vector2(width, height),
5,
0,
0
);
composer.addPass(ssaaRenderPass);
composer.addPass(bloomPass);
return composer;
}