Khronos Group and Threedy

The Khronos Group is an open, non-profit, member-driven consortium of over 150 industry-leading companies creating advanced, royalty-free interoperability standards for 3D graphics, augmented and virtual reality, parallel programming, vision acceleration and machine learning. Khronos standards include Vulkan®, Vulkan® SC, OpenGL®, OpenGL® ES, OpenGL® SC, WebGL™, SPIR-V™, OpenCL™, SYCL™, OpenVX™, NNEF™, OpenXR™, 3D Commerce™, ANARI™, and glTF™.

Fraunhofer IGD has been a member since many years and the instant3Dhub development team, at that time part of IGD, is and was actively using and contributing to various Khronos standards.

Threedy has now officially joined the Khronos Group to contribute to open standards aiming towards improvement of 3D data virtualisation, provisioning and automation for instant3Dhub applications and services.

Khronos Group members including Threedy

Fraunhofer IGD and Threedy contribution

Many modern service layer provide 3D data using the GLTF standard, a format also supported by the instant3Dhub architecture. We proposed two major extensions to GLTF over the last years to ease the integration even further:

  • FRAUNHOFER_materials_pbr: "A unified GLTF/X3D extension to bring physically-based rendering to the web", ACM, PDF (Pull Request): Now officially part of GLTF 2.0.
  • FRAUNHOFER_external_model:"Distribution of 3d data into more than one resource" (Pull Request): Not yet part of the official standard.

The current gltf version 2.0 supports two encodings, JSON and binary, supported by instant3Dhub and actively used by customers.

Initial Fraunhofer_material_pbr material example.

FRAUNHOFER_external_model example Link any data with GLTF

Model Definition

Models are stored in the newly introduced models array, similar to the existing images. The uri can be any combination of URN/URL values with multistage data and content negotiation.

"models": [
    {
        "uri": "urn:plmdomain:BOMconfig:UUID:223423243983450983454234"
    },
    {
        "uri": "https://datalake.local/part/AF93M0343N.CATPart"
     },
     {
        "uri": "https://s3server.awsgate/object/343431",
        "mimeType" : "model/gltf-binary"
    }
]

Model Instantiation

A model is instantiated by node.model property. The same model could be used by many nodes, which could have different transformations


"nodes": [
    {
        "name": "Untransformed External Model",
        "model": 2
    },
    {
        "name": "Transformed External Model",
        "model": 1,
        "translation": [ 20, 0, 0 ]
    }
]

Additional information can be found in the current extension proposal and gltf spec.

Get in touch
See use cases from engineering to after sales and ask your questions personally.

You want to talk to our experts? Just send us your request.
Contact
© 2024 Threedy. All rights reserved
NEWSLETTER
Subscribe to our Newsletter