Umbra blog

Recent posts

January 31, 2020

RealityCapture to Browser with Umbra SceneStream

Manu Raivio

Photogrammetry models allow us to capture the world around in exquisite detail — but that detail often comes with a drawback: large models don't perform well in real-time rendering. Whether you use them in a game-engine or display them on a website, detail is lost in optimizing models for performance.

In the following I will show you how to turn your high-resolution photogrammetry model into an Umbrafied scene and get it running in the browser at 60 FPS or more.

These Umbrafied scenes render on virtually any device and within the context of any application.

May 31, 2019

Umbra Mesh Compression - Overview

Vinh Truong


In the pursuit of efficient 3D content streaming, data compression is essential. To understand where and how Umbra uses compression, I am going to briefly explain our processing pipeline.

In short, Umbra encodes arbitrary 3D scenes into a hierarchical representation and stores it in our Cloud platform for high-performance over-the-network delivery. To determine which assets need to be downloaded and rendered, Umbra queries the hierarchy using the current camera position. In this context, compression is used to reduce the time it takes to download the assets.

While Umbra assets are made up of geometry and textures, in this blog series, I will only discuss compression of triangulated surface geometry.
May 24, 2019

1.6.14 Release Notes

Antti Ylimutka

Umbra's backend enables easy optimization and delivery of high-resolution, high-performance 3D models to web browsers and native apps. Content developers can forget the polygon, resolution and memory limitations and simply upload all 3D content in full resolution. As a result, meshes to us are like paintings to an artist: never good enough and always with room for improvement. And improve them is exactly what we’ve done with this latest release. Hot off the software printing press, here’s a list of latest feature additions to Umbra’s platform.

May 17, 2019

1.6.13. Release Notes

Antti Ylimutka

It’s been a while since we’ve shared what we’ve been up to… but the good thing is that we’ve been up to a lot! Below you can find a collection of updates we’ve pushed live during the last weeks.  

February 28, 2019

Fixing laser scans with Deep Learning

Pekka Väänänen

Laser scanning produces exceptionally detailed 3D point clouds of real-world locations, but there are often lots of missing areas that the scanner didn't see. Is it possible to bring them back somehow?

November 13, 2018

Solving Volume-to-Volume Visibility

Turkka Äijälä

Recently I've been looking into solving the visibility of any volume from any volume. Specifically, given two volumes, do any two points within them see each other? Implementing a visibility query that answers this could be the ultimate tool for occlusion culling and sort of a fundamental building block for other visibility operations. After all, operations such as point visibility and object visibility could be seen as special cases of such an algorithm.

November 06, 2018

How Does Umbra Triangulate 3D Geometry?

Niilo Jaba

In computer graphics, there are multiple different ways to represent 3D geometry. Basically, these can be broken down to three different groups: volumetric representations with a set of polyhedrons, surface representations with a set of polygons and point clouds with a set of points. All of these have advantages and limitations for different use cases. In real-time rendering, triangle-based surface meshes have been the dominating geometrical representation and consumer graphics hardware is optimized for rendering large amounts of triangles as fast as possible.