        renderer.render(this.screen, this.screenCamera);

                // Restore renderer settings
                this.restoreRendererState();
            };
        }

        class CameraController {
            static init(camera) {
                this.camera = camera;

                this.mouse = new Vector2();
                this.lookAt = new Vector3(0, 0, -2);
                this.origin = new Vector3();
                this.target = new Vector3();
                this.targetXY = new Vector2(2