Umbra SDK

Umbra is a cloud platform enabling the use of ultra-large content in 3D applications. It ingests arbitrarily large 3D content and processes it into a streamable ultra-high-performance delivery format.

The Umbra SDK package provides interfaces, tools and documentation for:

  • Importing 3D assets into the Umbra cloud service (Import)
  • Streaming optimized data into 3D applications (Runtime)

Use of the SDK requires a valid api key for accessing the cloud service.

For an overview of the Umbra optimization, see Optimization.

Image

SDK Contents

The client-side implementation of the core Umbra C API is provided as the umbra native library. On platforms that support dynamic linking, the library is shipped as a dynamic link library.

The dynamic libraries are found under bin in platform specific subdirectories, static libraries and import libraries (when required by the platform or toolchain) are found under lib.

The SDK has APIs for various programming languages. The implementation itself is in C language and exposed as the C API found in include. Support for other languages is implemented as language specific wrappers over the C APIs, and as language specific binaries when applicable:

  • C API : The core API reference
  • C++ API : C++ wrapper API
  • C# API : C# wrapper API
  • JavaScript API : lightweight streaming/rendering only API that wraps the WebAssembly build of the base library. Available as a standalone library with optional three.js integration.

Prebuilt binary tools are provided for uses not requiring integration into existing software:

The package also contains sample source code demonstrating the integration of the Umbra APIs:

  • importsample : C++ source code sample for integrating 3D import
  • runtimesample : C++ source code sample for integrating streaming into a simple renderer

Platforms

The SDK package contains binaries for the following platforms:

  • Windows (32-bit)
  • Windows (64-bit)
  • Linux (64-bit)
  • MacOS (64-bit)

Building

Project files for building the included source code on Windows platforms are included for Visual Studio versions 2015, 2017 and 2019. Visual Studio solutions can be found in the SDK root.

GNU Make is used for building for other platforms, the toplevel Makefile can be found in the SDK root. See make help for available platform and build configurations.

Getting Started

Requesting access

The Umbra SDK is currently only available privately. Request access to download the SDK and receive your api key.

Importing 3D scenes

To upload 3D scenes to the Umbra platform, use the Command Line Interface or one of the APIs listed at Import. Importing a scene generates a locator that can be used to view the optimized end result.

Viewing optimized 3D scenes

Optimized 3D scenes can be viewed using the Runtime, either via using the included inspect tool or integrating the runtime library. The umbra.io portal also contains a simple web viewer for quickly inspecting the results.