Ansys glTF Extensions
Last update: 16.07.2025Ansys specifc extensions to the glTF specification.
Ansys specifc extensions to the glTF specification.
Extensions
Note: This component is a work in progress and this documentation is incomplete/preliminary.
The GLTFWriter Library is a C++ library that is capable of writing geometry scenes in glTF format. The core glTF specification, while complete, does not meet all of the needs of Ansys applications. There are a collection of formal extensions to the specification that this library (and other aspects of the Ansys glTF ecosystem) use to place more specific information into the files.
GLTFWriter API Interface
These extensions have been designed to be specified using the ANSYS::AVZ::GLTFWriter::Value interface. Adding a line width specification to a ANSYS::AVZ::GLTFWriter::Mesh object is done like this:
Extensions
The following extensions are supported:
| Extension | Datatype | Object(s) | Description |
|---|---|---|---|
| ANSYS_linewidth | float | ANSYS::AVZ::GLTFWriter::Scene, ANSYS::AVZ::GLTFWriter::Mesh | Specifies the width of lines and size of points |
| ANSYS_material_name | string | ANSYS::AVZ::GLTFWriter::Material | The name of the material |
| ANSYS_material_details | string | ANSYS::AVZ::GLTFWriter::Material | JSON description of the material details |
| ANSYS_scene_timevalue | float | ANSYS::AVZ::GLTFWriter::Scene | Time value for the scene |
Examples
Examples of what is embedded in the glTF JSON block:
- ANSYS_linewidth: "extensions": {"ANSYS_linewidth": {"linewidth" : 100.0}}
- ANSYS_material_name: "extensions": {"ANSYS_material_name": {"name" : "sample_material_name"}}
- ANSYS_material_details: The ANSYS_material_details is specifically the text of a JSON object description. The object keys are the material type. In the example, the material is in "ensight" format and is of the class "Metal" and subclass "Gold". It is legal for multiple specifications to be included. For example, both "ensight/Metal/Gold" and "MDL/omniverse/green glass" may both be included in the same JSON object."extensions": {"ANSYS_material_details": {"ensight/Metal/Gold": {"version": "2025 R1","material_type": "SUBSURFACETHINGLASS","color": [0.981126, 0.793495, 0.343545],"ambient": [0.981126, 0.793495, 0.343545],"ka": 0.001373,"diffuse": [0.981126, 0.793495, 0.343545],"kd": 0.000000,"specular": [1.000000, 0.808760, 0.350154],"ks": 1.000000,"reflective": [1.000000, 0.808760, 0.350154],"kr": 0.300000,"emissive": [1.000000, 1.000000, 1.000000],"ke": 0.000000,"shininess": 200.000000,"smoothness": 0.500000,"opacity": 1.000000,"gamma_corrected": false,"metallic": 1.000000,"speculartint": 1.000000,"eta": [0.070000, 0.370000, 1.500000],"kta": [3.700000, 2.300000, 1.700000]}}}
- ANSYS_scene_timevalue: "extensions": {"ANSYS_scene_timevalue": {"timevalue": 0.223}}
Users of the GLTFWriter API need only set the "ANSYS_*" named Value object on the appropriate target object type listed in the table to generate the extension blocks.