Skip to main content
The Gaussian Splat viewer renders 3D scene reconstructions using WebGPU-accelerated Gaussian splatting. Navigate photorealistic 3D environments and place annotations directly in the scene — no separate 3D modeling tools required.

Overview

Gaussian splatting is a 3D scene reconstruction technique that represents environments as collections of 3D Gaussians. Each Gaussian stores position, covariance, color, and opacity, and the renderer composites them into photorealistic views from any camera angle. Unlike mesh-based representations, Gaussian splats capture fine details like foliage, reflections, and semi-transparent surfaces. In Avala, you can upload Gaussian Splat files to a dataset and annotate them directly in the viewer — placing 3D cuboids, assigning classification labels, and organizing annotations in a scene hierarchy.

Viewer Layout

The viewer is organized into five regions:
RegionPositionWidth / HeightContent
3D CanvasCenterFills remaining spaceInteractive Gaussian Splat rendering with camera controls
Scene HierarchyLeft panel280pxTree view of all objects and annotations in the scene
PropertiesRight panel300pxEditable properties for the selected annotation (position, dimensions, rotation, label)
ToolbarBottom center56px heightAnnotation tools and mode selection
Mode ToggleTop centerSwitch between navigation and annotation modes, plus undo/redo controls
StatisticsBottom rightReal-time render statistics (frame rate, splat count, GPU memory)
Explore the reconstructed scene using standard 3D camera controls:
ControlAction
Left-click + dragOrbit the camera around the focal point
Right-click + dragPan the camera laterally
Scroll wheelZoom in and out
Middle-click + dragFly-through navigation for moving the focal point
When annotating, the viewer switches between navigation mode and annotation mode. In navigation mode, mouse inputs control the camera. In annotation mode, mouse inputs interact with annotations. Toggle between modes using the control at the top center of the viewer.

WebGPU Rendering

The viewer uses a WebGPU-accelerated rendering pipeline optimized for real-time Gaussian splatting.

Pipeline Architecture

ComponentPurpose
GPU radix sortSorts splats by depth on the GPU for correct back-to-front compositing
Buffer poolingReuses GPU buffer allocations to reduce memory allocation overhead
Render bundle cachingPre-records GPU command sequences that do not change between frames
Pipeline precompilationCompiles WGSL shaders asynchronously during loading to avoid rendering stalls

Browser Support

BrowserVersionStatus
Chrome113+Enabled by default
Edge113+Enabled by default
FirefoxNightlyRequires dom.webgpu.enabled flag
SafariTechnology PreviewRequires feature flag
The Gaussian Splat viewer requires WebGPU. Unlike the point cloud viewer, there is no WebGL fallback for Gaussian splatting — the GPU compute pipeline is essential for real-time splat sorting and compositing. Use Chrome or Edge 113+ for the best experience. WebGPU features are under active development and may not be available in all environments.

Annotation

Place annotations directly in the 3D Gaussian Splat scene using the toolbar at the bottom of the viewer.

3D Cuboids

Draw three-dimensional bounding boxes around objects in the scene:
  1. Select the Cuboid tool from the toolbar
  2. Click in the scene to place the cuboid center
  3. Adjust position, dimensions, and rotation using the gizmo handles
  4. Assign a label from your project’s label taxonomy
Cuboid placement is depth-aware — the viewer uses the Gaussian Splat depth buffer to position annotations at the correct 3D location in the scene.

Classification Labels

Apply scene-level or object-level classification labels:
  • Scene classification — Label the entire scene (e.g., indoor, outdoor, parking lot)
  • Object classification — Label individual cuboid annotations with object classes and attributes

Scene Hierarchy

The left panel displays a tree view of all annotations, organized by label class. Use the hierarchy to:
  • Select annotations by clicking their name
  • Toggle annotation visibility
  • Reorder and group annotations
  • Inspect annotation properties without navigating to them in the 3D view

Edit History

Full undo/redo support is available via the top-center controls or keyboard shortcuts:
ShortcutAction
Ctrl+Z / Cmd+ZUndo
Ctrl+Shift+Z / Cmd+Shift+ZRedo
Every annotation action — creation, deletion, move, resize, label change — is recorded in the edit history.

Use Cases

3D Scene Understanding

Annotate objects in reconstructed indoor and outdoor environments for 3D object detection and scene graph generation.

Novel View Synthesis

Label objects in Gaussian Splat scenes to create training data for view synthesis models that need semantic awareness.

Spatial AI Training Data

Build labeled datasets for embodied AI agents that need to understand and navigate 3D environments.

Digital Twin Annotation

Annotate reconstructed real-world environments for digital twin applications, facility management, and simulation.

Next Steps