Performance and streaming

Learn how Blurry prepares uploaded models for browser viewing, streams lower-detail data first, and reprocesses masks so hidden splats are not served.

Processing after upload

After you upload data, Blurry prepares your 3D Gaussian Splatting model for web viewing.

For single file uploads at or below 600,000 splats, Blurry can process the model as one compressed file. For single file uploads above 600,000 splats, Blurry generates lower-detail variants before preparing the model for streaming.

If you upload .ply files, Blurry uses them as your levels of detail and generates more levels as necessary. For LCC2 .zip uploads, Blurry reads the levels from the package and prepares them for Blurry’s streaming pipeline.

Generated lower-detail variants

Generated lower-detail variants give the viewer smaller versions of the model to load before the highest-detail data is streamed. It also gives the viewer the option to display lower resolution variants for parts of the model that are less visually important (background, far away from camera) to manage viewer performance.

When Blurry generates variants, the smallest generated level targets roughly 500,000 splats. Larger source files can produce several levels, so the viewer has useful intermediate options between the smallest generated level and the original model.

Progressive loading

Progressive loading lets large scenes appear sooner by showing lower-resolution data first.

While processing is still running, Blurry can open the editor once a renderable variant exists. A renderable preview is any available variant at or below 4,000,000 splats. Note that 4,000,000 splats is viable only on a reasonably powerful computer. If this experience is laggy, please wait until the model is fully processed. This lets users with high-end computers start editing the scene as soon as possible.

Masking and reprocessing

Masking removes selected parts of a splat from the files Blurry serves.

Masks are not only a browser-side hide operation. When masks are applied to processed model output, Blurry reprocesses the served files so masked-out splats are excluded from the streamed data.

After reprocessing completes, viewers do not download the parts you masked out, and those splats are not available in the served scene data.