public OffscreenBufferDepthImageServer(Graphics3DAdapter adapter, CameraMountList mountList, CameraConfiguration cameraConfiguration, CameraTrackingAndDollyPositionHolder cameraTrackingAndDollyPositionHolder, int width, int height, double nearClip, double farClip, DepthImageCallback imageCallback, TimestampProvider timestampProvider, int framesPerSecond) { ViewportAdapter viewport = adapter.createNewViewport(null, false, true); camera = viewport.getCamera(); viewport.setupOffscreenView(width, height); this.nearClip = nearClip; this.farClip = farClip; ClassicCameraController cameraController = new ClassicCameraController(adapter, viewport, cameraTrackingAndDollyPositionHolder); cameraController.setConfiguration(cameraConfiguration, mountList); viewport.setCameraController(cameraController); CameraUpdater cameraUpdater = new CameraUpdater(); this.depthImageCallback = imageCallback; this.timestampProvider = timestampProvider; LogTools.info("Starting RGBD stream"); viewport.getCaptureDevice().streamTo(cameraUpdater, framesPerSecond); }