About this release

The 2021.1 release of LuciadFusion focuses on 3D user experience via state-of-the-art 3D services. The 3D tiles processing engine is further optimized for fast streaming and added realism via materials support.

luciad portfolio
Figure 1. The Luciad product portfolio.

Benefits of the new features

Stream tiles faster and visualize them realistically with more 3D tiles processing capabilities

In this release, the 3D Tiles processing engine has been extended with material support and tile geometry compression.

Create compact 3D tiles datasets by enabling Draco geometry compression

3D Tiles is an OGC community standard and popular exchange format for 3D information. A typical example of data that is very suitable for exchange in 3D tiles format is 3D city models. Despite the efficiency that comes from the tiled and multi-level nature of the data, there are still cases where the amount of data becomes a bottleneck. A solution for that is data compression. Google’s Draco is a popular library for compressing geometry during the encoding of a 3D payload into the glTF format.

LuciadFusion’s 3D tiles processing engine has now been extended with the capability to encode meshes as Draco-compressed 3D tiles. The benefit of applying this compression is that the resulting data set is significantly smaller. The conversion time is only slightly higher. It is recommended to apply Draco compression if the client application supports the decoding and visualization of such tiles. Note that LuciadRIA supports the rendering of Draco-compressed 3D tiles.

The Draco compression option is integrated into the LuciadFusion REST API as well as LuciadFusion Studio. In the REST API, a new meshCompression property has been added to the service GET method. The LuciadFusion Studio UI offers an additional Mesh Compression option chooser when you are creating a service of type OGC3DTiles.

studio compression option
Figure 2. LuciadFusion Studio offers the possibility to enable mesh compression when creating an OGC 3D Tiles service.

Create 3D tiles data sets that preserve material properties

3D data sets have become more and more detailed, and now often have texture information. Visualizing the textures of a data set helps users distinguish between objects, and makes clear what an object represents. In the absence of textures, this is less clear.

There are situations where objects are quite similar in geometry. Factory and building data typically consists of geometrically similar objects, for example. Although those objects may look similar in form, we can still tell them apart through their material properties.

If 3D objects offer information on their material, such as metallic-ness and roughness, the LuciadFusion 3D tiles processing engine will now pick it up, and encode it within the tiles. Any compatible client can then offer quite realistic rendering of the data. Note that LuciadRIA supports the rendering of 3D tiles, including material properties.

Because OBJ files typically do not encode a large variety of materials, support for input data in binary GLTF has been added to the processing engine. The glTF format can contain more material information.

Sample code to get you started

The Command Line Interface (CLI) Meshup sample now includes Draco compression and material support.

The developer guide Processing meshes into OGC 3D tiles has been extended with a File formats and material properties section with guidance on including material properties within the generated OGC 3D tiles data sets.

Stream CAD and BIM data encoded as Binz efficiently and include material properties for realistic rendering

The added value of material support is typically very high in data of factories and buildings. Therefore, the Binz tiling engine, part of the Infrastructure Standards option, has been extended with material support.

Moreover, the Binz tiling engine now also offers Draco compression. For Binz data, with its complex geometries, geometry compression results in significantly smaller 3D tiles datasets.

Sample code to get you started

The Binz decoder automatically picks up any material information. The samples.decoder.binz.BinzConverter sample shows how to configure the mesh compression.

Support additional panoramic data: Cycloramas

As of version 2020.1, LuciadFusion supports 360° panoramic imagery. Panoramic imagery in the formats E57 (ASTM E57 3D file format) and Leica Pegasus (from Leica Pegasus scanners) is automatically recognized and discovered through the LuciadFusion data crawling capability. A new service type, PanoramicService, based on OGC 3D Tiles, was added to stream 360° panoramic imagery data.

With this release, we added dedicated sample code to support GeoCycloramas. Even though LuciadFusion 2020.1 already included API to add more panoramic image formats, this new sample code greatly simplifies the development task for GeoCycloramas specifically.

Sample code to get you started

The Panorama Viewer sample and the Panorama Converter CLI sample both use the sample model decoder for GeoCycloramas.

You can find more background information in the article How to process panoramic images in a custom format.

Enrich client applications with detailed background data

Operational data becomes more relevant when you show it in context. For that, you need detailed background data. There are various providers of such imagery data, and LuciadFusion already offers numerous data connectors to serve imagery through OGC-compliant WMS and WMTS services.

With this release, we enrich our set of connectors with a connector for OpenStreetMap data that is not offered through OGC services, but through OpenStreetMap tile servers. This data can be consumed directly by applications that support the format. LuciadFusion can also convert these services into OGC WMS or WMTS.

osm dataviewer
Figure 3. An illustration of the OpenStreetMap data decoder, using LuciadLightspeed for visualization.

Sample code to get you started

A dedicated Open Street Map decoder has been added to the LuciadFusion sample samples.earth.decoder.osm.OpenStreetMapModelDecoder. The article How to load data from an OpenStreetMap tile server provides additional guidance.

Other improvements

ECWP services supported on Linux

The ECWP service type for LuciadFusion is now also supported on Linux. The corresponding native libraries have been updated.

Java 17

LuciadFusion runs on Java 17 in compatibility mode.

Faster 3D Tiles processing

LuciadFusion’s 3D tiles processing engine now uses optimized caching, resulting in faster processing.