All projects

3DGS and LiDAR

Splat Viewer

Splat Viewer opens 3D Gaussian splats and large LiDAR scans on desktop and, with an OpenXR runtime and headset, in VR. It provides tools for inspection, measurement, annotation, and extracting building geometry. We developed its scan processing workflow for LUMINOUS’s architectural design review pilot.

Splat Viewer is actively evolving and used internally and in projects, including our work on LUMINOUS. It isn’t generally available yet. Curious about the tool? Get in touch

Renovation example

An apartment through renovation

The apartment was scanned at several stages of a renovation, and each capture was turned into a Gaussian splat. This edit joins separate Splat Viewer recordings, from the original rooms through exposed surfaces to the finished bathroom. In the viewer, each stage is loaded and explored on its own.

1 min · Edited from separate viewer recordings
What the video shows
  • Explore the apartment’s older rooms, tiled kitchen, and balcony.
  • Compare stripped surfaces and exposed services with a later kitchen installation.
  • Follow the bathroom from its older blue-tiled appearance through stripped masonry and exposed pipework to new tiling and a glass shower.
  • The video joins separate recordings of captures made at different renovation stages.
Full video description with timestamps
  1. 0:00 · Separate captures of renovation stages

    This edit joins separate Splat Viewer recordings of apartment captures at different renovation stages. Each stage was loaded and explored separately.

  2. 0:02 · The older kitchen and adjoining spaces

    The first capture moves from a room with parquet flooring into the older tiled kitchen. The camera looks towards the balcony and into a small adjoining space containing a ladder.

  3. 0:14 · Stripped surfaces and kitchen installation

    Separate views show the kitchen with wall finishes removed, exposed masonry at an opening, visible service routes, and renovation materials.

    At approximately 0:26, a later kitchen capture shows new cabinetry and fitted appliances, with materials still present during installation.

  4. 0:31 · The older bathroom

    The edit returns to the older bathroom. Blue wall and floor tiles surround a bathtub, basin, toilet, and bidet. Dark staining is visible around the ceiling edges.

  5. 0:40 · The stripped bathroom and exposed pipework

    Subsequent captures show the bathroom stripped to masonry. The old fixtures have been removed. A later view shows exposed pipe runs across the walls and floor.

  6. 0:50 · New tiling and shower enclosure

    The final capture shows the newly tiled bathroom and a glass shower enclosure with black fittings. Some service openings remain visible. The camera looks around the shower before the video fades out.

Capabilities

What Splat Viewer can do

01

Explore captured spaces

Open Gaussian splats and LiDAR scans in PLY, LAS, LAZ, or E57 format. Explore them on desktop or with an OpenXR runtime and VR headset.

02

Measure and annotate

Measure distances and areas, pin typed or dictated notes to a viewpoint, and play back a recorded camera path.

03

Extract building geometry

In suitable scans, find walls, floors, ceilings, doors, windows, and rooms. Export the detected geometry as DXF or IFC4.

04

Capture and create

Export a 360° panorama PNG from the current viewpoint, or train a Gaussian splat from a LiDAR scan and reference photos.

Object recognition

Find objects in captured spaces

These short demos show how YOLO-World detections appear in Splat Viewer, with coloured 3D boxes and matching positions on the scan overview.

Construction site

YOLO-World marks backpacks and bottles in the rendered view. Splat Viewer places the detections in coloured 3D boxes.

1 min 2 sec · Backpacks and bottles
What the video shows
  • Find candidate backpacks and bottles in views of an unfinished construction site.
  • See detections from several views combined into coloured 3D boxes.
  • Explore the labelled results and their matching positions on the scan overview.
Full video description with timestamps
  1. 0:00 · Preparing captured views for detection

    The opening image compares a colour rendering of the construction capture with a multicoloured per-pixel point-index image. Its explanatory text says point indices and XYZ coordinates are saved as GeoTIFF.

    A title then introduces YOLO-World detection of backpacks and bottles. Views around the unfinished site show coloured, labelled 2D detection boxes. The explanatory overlay describes open-vocabulary detection, a separate colour for each object, and mapping detections back into 3D using the XYZ layer.

  2. 0:15 · Combining detections into 3D boxes

    A title explains that detections from multiple views are combined into 3D bounding boxes for display in the viewer.

  3. 0:17 · Exploring the reported detections

    Splat Viewer reports 12 detections for the bottle and backpack prompts. The camera explores the results around bags, floor-level objects, hanging items, and other site equipment.

    Coloured 3D boxes carry object labels and confidence scores. Matching coloured markers locate the results on the scan overview. The boxes remain positioned in the captured scene as the viewpoint changes.

    Some labelled boxes overlap other site objects, including a fire extinguisher and a large outdoor unit. These are reported detections rather than independently verified object identifications.

Apartment renovation

The viewer marks candidate pipes and shows their positions in the apartment scan.

56 sec · Plumbing pipes
What the video shows
  • Search an apartment renovation capture for candidate pipes and related objects.
  • See detections from several views combined into coloured 3D boxes.
  • Explore candidate locations, including coils and exposed runs, with matching markers on the scan overview.
Full video description with timestamps
  1. 0:00 · Preparing captured views and detecting candidates

    The opening image compares the apartment’s colour rendering with a multicoloured per-pixel point-index image. Text explains that point indices and XYZ coordinates are saved as GeoTIFF.

    A title then introduces YOLO-World detection using the prompt “pipe.” Rendered views show labelled 2D boxes over candidate pipe-related objects, including coils and exposed runs. The explanatory overlay describes open-vocabulary detection, a separate colour for each object, and mapping detections into 3D using the XYZ layer.

  2. 0:15 · Combining detections across views

    A title explains that detections from different views are combined into 3D bounding boxes for display in the viewer.

  3. 0:17 · Exploring candidate pipe locations

    The viewer reports 10 detections and displays a broader list of pipe-related prompts, including plumbing and drain pipes, hoses, and conduit.

    The camera explores coloured boxes around coils, exposed floor-level runs, and other candidate locations throughout the apartment. Labels and confidence scores accompany the boxes. Matching colours locate the results on the scan overview, while the boxes remain positioned in the scene as the viewpoint changes.

    Some boxes overlap a ladder, radiator, or apparently plain surfaces. The displayed results are candidates rather than ten independently verified plumbing pipes.

Tool walkthrough

See the viewer in use

This longer walkthrough moves from a Gaussian splat to large point clouds, room detection, measurements, and export. It ends with a splat trained from a scan and photos.

4 min 42 sec · Feature walkthrough
What the video shows
  • Explore a captured apartment and compare its photographic reconstruction with a point-cloud view.
  • Review viewpoint notes, object display options, and a captured panorama.
  • Navigate LiDAR scans, highlight walkable floor areas, and follow a recorded camera route alongside reference photographs.
  • Adjust how a large scan is displayed within the available graphics memory.
  • Extract walls, floors, ceilings, doors, windows, and rooms, then view an exported floor plan.
  • Measure distances and enclosed areas, including measurements that snap to wall corners.
  • Train a Gaussian splat from a scan and photographs, then explore the resulting reconstruction.
Full video description with timestamps
  1. 0:00 · Exploring a Gaussian-splat reconstruction

    A Hypercliq title introduces Splat Viewer. The walkthrough begins inside a Gaussian-splat reconstruction of an unfinished apartment, looking around walls, exposed ceiling details, and a balcony doorway.

    Explanatory cards describe real-time viewing using Rust and Vulkan, WASD movement, mouse look, and adjustable movement speed, field of view, and splat size. A visible-splat count is highlighted as the viewpoint changes. Another card attributes visibility culling and depth sorting to the GPU.

    The rendering switches from a photographic-looking splat to individual points and back. The overview and position readout show the camera’s location, direction, and the extent of the capture.

  2. 0:35 · Notes and object display options

    A list of viewpoint notes appears and a note is selected. Cards explain that notes retain the camera pose so the user can return to that view, and that notes may be typed or dictated. The dictation card states that Whisper transcribes on the device without sending data away.

    The object-overlay menu then offers flat 2D boxes, 3D edges, and shaded boxes for displaying detections.

  3. 0:53 · Capturing panoramas and labelled views

    Capture menus show panorama resolution choices and labelled dataset export. Cards describe panoramas up to 8K and captured views containing RGB images, per-pixel point indices, and world XYZ coordinates. The File menu also presents loading options for point clouds, bounding boxes, camera paths, and reference photographs.

    At approximately 1:10, a panorama captured from the viewer fills the screen. The view pans across the apartment’s walls, ceiling, floor, and balcony doorway. Its explanatory card describes an equirectangular PNG output up to 8192 × 4096 pixels.

  4. 1:19 · Loading and exploring a LiDAR scan

    A loading progress dialog appears, followed by navigation through a dense LiDAR point cloud. Cards identify the example as a 974 MB scan containing 36.5 million points and describe loading on a background worker.

    The scan is shown as surface elements whose spacing, according to the overlay, is derived from the captured data. The rendering switches to raw points to inspect the sampling.

    At approximately 1:44, detected floor cells are highlighted in green as a walkable-area overlay, showing potential standing locations. The overlay is subsequently removed.

  5. 1:53 · Following the recorded capture route

    An orange recorded camera trajectory appears in the scene. Playback follows the sensor’s route through the scan. Cards explain that a route can be played at an adjustable speed or scrubbed to a chosen moment.

    A reference-photo panel changes with the viewpoint. Its card describes matching the nearest photograph from a COLMAP dataset.

  6. 2:22 · Managing a larger scan

    Another scan is introduced as containing 216 million points on an 8 GB GPU. Cards explain that the full scan is held in host memory while octree streaming supplies the current view to GPU memory.

    A highlighted GPU-memory budget control changes the resident point set. The explanatory text says the finest level of detail is prioritised where the camera looks.

  7. 2:34 · Extracting building geometry

    Detected walls, floors, and ceilings receive orange, blue, and cyan class colours. Bordered translucent polygons outline the surfaces, and the overview becomes a floor plan.

    Wall faces are then shown with yellow door frames and cyan window frames. Cards describe each wall as a single quadrilateral extending between corners. The room stage describes enclosed spaces with their areas, ceiling heights, and boundary polygons.

  8. 3:02 · Exporting and viewing the floor plan

    The export menu is shown. An explanatory card describes DXF output with wall thicknesses, dimensions, door swings, and room labels, and also mentions JSON output.

    At approximately 3:10, the exported DXF floor plan fills the screen. It contains walls, dimensions, door swings, windows, and labelled rooms with areas. The accompanying card describes opening the output in CAD software.

  9. 3:19 · Measuring distances and areas

    A laser-style tool displays the distance to the surface at which the view is aimed. Selecting two points creates a labelled measurement line, first between walls and then from floor to ceiling.

    Cards explain horizontal and vertical measurement components and intersection with fitted planes. One card claims sub-centimetre accuracy on flat surfaces.

    Measurements then snap to detected wall corners. The card specifies a 10 cm snapping range. Further points form a boundary; closing the boundary produces an area and perimeter readout.

    The measurements remain drawn in the scene and listed in the panel. At approximately 3:46, a card says they are saved alongside the scan and included in exports as a DXF MEASURE layer and IFC annotations.

  10. 3:52 · Training a Gaussian splat

    The Gaussian-splat training command opens a configuration dialog using the scan and posed photographs. Cards identify Brush as the trainer and describe initialising flat Gaussians on the scanned surfaces at 5 cm spacing, rather than starting from sparse structure-from-motion points.

    A training progress panel shows iteration, splat-count, and image-quality information. A card says the scan is streamed out of GPU memory during training.

    At approximately 4:16, a later card describes a result after twenty minutes, names 20,000 iterations as the default, and says the result can be loaded with one click.

  11. 4:27 · Exploring the trained result

    The trained Gaussian splat opens and the camera explores the apartment again. A card explains that the result uses the scan’s coordinate frame and that a haze control suppresses faint Gaussians.

    The final message connects three outputs from one capture: LiDAR for measurement, a floor plan for CAD and BIM, and a splat for a photographic walkthrough.

Watch the Ricoh E57 example in LUMINOUS 

Have a related project in mind?