BorgVR Guide

Browser renderer

BorgVR WebGPU

Explore a dataset served by BorgVR directly in the browser without installing a native application.

WebGPU-compatible volume dataset

Requirements and connection

The browser must support WebGPU. On iPhone and iPad, BorgVR requires iOS or iPadOS 26 or newer. A network server should use HTTPS; unencrypted HTTP is intended for localhost only.

  1. Start the WebGPU web server in a native BorgVR app, the macOS server app, or a command-line server.
  2. Open the displayed URL. With a self-signed certificate, explicitly accept the browser warning once.
  3. Choose a dataset on the start page. A direct sharing URL can already contain the dataset ID, transfer function, rendering mode, and isovalue.
No WebGPU adapterThis message usually means the browser, operating system, or device does not expose WebGPU. On older mobile Apple systems, BorgVR specifically reports the iOS/iPadOS 26 requirement.

Interface and interaction

The dataset list, rendering controls, and transfer-function editor can be collapsed. On small displays this preserves room for the volume. Expanded sections and overall UI visibility are stored locally in the browser.

  • Drag rotates the model; two-finger or secondary dragging translates it.
  • The mouse wheel or pinch zooms. On iPhone, BorgVR uses a true two-finger pinch gesture.
  • Transfer function, illuminated transfer function, and isosurface correspond to the native rendering modes.
  • Marker files from the server catalog can be loaded; spheres and strokes render as geometry and tube meshes.

Persistent brick cache

When Persistent bricks is enabled, BorgVR stores received pieces of the volume, called bricks, in the browser's IndexedDB database. Required bricks can be read locally during a later visit. This reduces repeated network traffic and may accelerate image construction.

The setting and data survive closing the tab. Browser data is origin-bound: only pages using the exact same scheme, host, and port can read the cache through IndexedDB. The bytes still reside on local storage and can in principle be inspected by other users of the same computer account.

On public or shared computers, keep this feature disabled for sensitive datasets. Disabling it deletes the database. Clear cache also empties it without abruptly terminating the rendering worker.

Storage quota

When the browser quota is reached, BorgVR first removes older bricks belonging to other datasets, then the oldest bricks of the current dataset. If storage still fails, rendering continues with network data.

Cache and server counters

The UI counts bricks read from IndexedDB and from the server. After reloading, a small number of bricks may still come from the server: view-dependent LOD requests, progressive-loading timing, and non-persisted requests can vary slightly between runs.

The cache does not necessarily make every load dramatically faster. IndexedDB itself incurs transaction, copy, and decompression work; its most reliable benefit is reducing network use.

Differences from native apps

WebGPU is especially useful for quickly sharing a dataset and for systems without an installed BorgVR app. Native apps still provide the deepest integration: SharePlay, local conversion, background servers, system file management, and on Vision Pro spatial hand and stylus interaction.