BorgVR Guide

Apple Vision Pro

BorgVR for visionOS

Explore volume data freely in space, annotate it with hands, Logitech Muse, or PlayStation VR2 Sense controllers, and analyze it together through SharePlay.

Mandelbulb rendered by BorgVR

First launch and main menu

  1. Choose Open Dataset to load a local file or a dataset from a configured server.
  2. Use Import Dataset to convert DICOM, NRRD/NHDR, PVM, or QVIS data into BorgVR format.
  3. After opening, the Immersive Space starts. The volume appears in front of you while the BorgVR main menu remains available as a visionOS window.

On the first regular launch, BorgVR asks for a SharePlay display name. It identifies you in shared sessions and can be changed later in Settings. When the first launch happens directly through SharePlay, this prompt is deferred to avoid interrupting the join flow.

Hand interaction

The Hand Interaction selector in the main menu determines only what pinch gestures modify. Logitech Muse and PlayStation VR2 Sense controllers maintain independent tool states.

Model
Move, rotate, and scale the volume. Its reset restores the initial transform.
Clipping
Position and rotate the clipping plane to inspect the dataset interior.
Transfer
Horizontal dragging shifts the active transfer function, while vertical dragging changes its slope. In isosurface mode, the same delta interaction changes the isovalue.
Drawing
A pinch gesture draws a spatial stroke. It may optionally project onto the visible volume surface along the viewing ray.
Placement
Place, grab, and move the active sphere or imported polygon object. The preview uses the actual shape and size and can optionally snap to the volume surface.
Measurement
Create and edit points for path lengths, planar areas, or convex volumes. Points may optionally project onto the volume surface.
Screen View
Position the shared screen view of Mac, iPhone, and iPad participants in space. This mode appears only while such a view exists.

Rendering, multi-channel data, and lighting

The main menu switches between transfer function, illuminated transfer function, and isosurface rendering. The editor button opens the transfer-function or isovalue editor for the active mode. The larger transfer-function editor can additionally appear as a HUD or spatial widget attached to the dataset.

Multi-channel datasets have up to four independent transfer functions. Select the data channel in the editor, then edit its red, green, blue, and alpha curves. BorgVR composites the contributions of all channels during rendering.

The Lighting window contains an arcball preview sphere and color controls for ambient, diffuse, and specular light. Rotate the sphere to change light direction. These settings affect only illuminated transfer-function mode.

Objects and measurements

The Objects window shows the active object asset and all placed spheres, drawings, and mesh instances. Imported .mesh files appear beside the built-in sphere as placeable objects. Multiple selection supports shared edits; .marker files store the complete object collection.

The Measurements window selects length, area, or volume. Lengths may contain any number of segments. Areas use the convex hull of points projected into a common plane; volumes use a spatial convex hull. Points can be selected, moved, and removed. Results use an automatically selected physical unit and are stored as .measurement.

Objects and the complete measurement visualization can be hidden independently. Both are visible when a dataset opens.

Logitech Muse

Logitech Muse works as an independent tool and does not follow the current hand mode. Its tip shows color, size, and active mode. Settings choose whether a new dataset starts in marker, length, area, volume, or last-used mode.

  • In drawing mode, the primary button or pressure-sensitive tip creates smoothed spatial strokes. Pressure scales their radius.
  • The small button changes size with up/down motion and hue with left/right motion. A double-click removes the most recently created object or measurement point.
  • Press both buttons together to cycle through drawing and length, area, and volume measurement. A short press in measurement mode starts a new measurement or returns to the last edited one.
  • Settings control whether other SharePlay participants can see the Muse tip. When disabled, no preview positions are transmitted.

PlayStation VR2 Sense

Left and right PlayStation VR2 Sense controllers are tracked separately and each maintains its own tool mode. The rendered controller pointer shows the active tool and its current drawing or object preview at the tip.

  • In model mode, the trigger grabs the dataset; controller motion and orientation translate and rotate it.
  • In drawing mode, trigger or grip creates spatial strokes. Tool modes also include clipping, object placement, length, area, and volume measurement, and Screen View.
  • The four system buttons can be assigned independently for each controller. BorgVR uses the localized names and symbols supplied by visionOS.
  • Horizontal and vertical thumbstick axes can independently map to rotation about X, Y, or Z or translation along X, Y, or Z for each controller.
Accessory limitationvisionOS accessory tracking may limit simultaneous use of Logitech Muse and both PS VR2 Sense controllers. If only one controller responds, temporarily disconnect another spatial accessory.

SharePlay

Use the SharePlay button to start or join a session. Dataset, rendering parameters, transfer functions for all data channels, lighting, clipping, objects, and measurements are shared. The protocol version is checked before payload data; incompatible app versions receive a clear update message.

BorgVR visualizes the shared screen view as an eye in front of an image plane. If a Mac, iPhone, or iPad participant detaches, a separate color-coded representation appears with that person's display name. Its frustum appears during interaction.

Participants exchange known dataset origins that are allowed to be shared. Devices with a complete local copy can serve the host-selected dataset through a temporary ad-hoc server. While no origin is reachable, BorgVR displays the server currently being tried and retries known origins.

When the host leavesParticipants may take over the host role, leave the session, or continue without a host. Simultaneous takeover attempts are resolved deterministically.

Saving, restoring, and settings

Save Dataset State and Restore Dataset State combine transfer functions, objects, measurements, transform, rendering mode, isovalue, lighting, clipping, and visibility. Existing files are overwritten only after confirmation.

  • Automatic loading and saving of transfer functions, objects, measurements, and visualization state
  • Transfer-function HUD and spatial widget plus selected data channel
  • Starting tool and SharePlay visibility for Logitech Muse
  • Button and thumbstick mapping for left and right PS VR2 Sense controllers
  • Remote servers, loading timeout, progressive loading, local copies, and origin cache
  • Local dataset and WebGPU server plus independent MCP server
  • LOD, atlas, sampling, and foveation options
  • SharePlay display name and App Store update checks