3D Formats & Materials
Introduction
RapidPipeline 3D Processor supports a wide range of modern 3D formats, features and conversions.
The 3D Formats & Materials support documentation is also applicable to RapidCompact (legacy).
Feature Support by 3D Format
glTF, glb
feature | import support | export support | optimization support | additional info |
---|---|---|---|---|
general format | ✅ | ✅ | ✅ | general reading and writing of the format |
texture maps | ✅ | ✅ | ✅ | |
rigid animations | ✅ | ✅ | ✅ | |
skinned animations | ✅ | ✅ | ✅ | |
morph targets | ✅ | ✅ | ✅ | |
instancing | ✅ | ✅ | ✅ | |
referencing | ⦸ | ⦸ | ⦸ | |
lights | ✅ | ✅ | ⦸ | |
cameras | ✅ | ✅ | ⦸ |
Material Model Support (glTF, glb)
feature | import support | export support | optimization support | additional info |
---|---|---|---|---|
glTF PBR material | ✅ | ✅ | ✅ |
glTF extensions
extension | import support | export support | optimization support | additional info |
---|---|---|---|---|
KHR_animation_pointer | ✨ | ✨ | ✨ | in development |
KHR_draco_mesh_compression | ✅ | ✅ | ✅ | |
KHR_lights_punctual | ✅ | ✅ | ⦸ | |
KHR_materials_anisotropy | ✨ | ✨ | ✨ | in development |
KHR_materials_clearcoat | ✅ | ✅ | ✅ | |
KHR_materials_dispersion | ✨ | ✨ | ✨ | in development |
KHR_materials_emissive_strength | ✅ | ✅ | ✅ | |
KHR_materials_ior | ✅ | ✅ | ✅ | |
KHR_materials_iridescence | ✅ | ✅ | ✅ | |
KHR_materials_sheen | ✅ | ✅ | ✅ | |
KHR_materials_specular | ✅ | ✅ | ✅ | |
KHR_materials_transmission | ✅ | ✅ | ✅ | |
KHR_materials_unlit | ✅ | ✅ | ✅ | |
KHR_materials_variants | ❌ | ❌ | ❌ | |
KHR_materials_volume | ✅ | ✅ | ✅ | |
KHR_mesh_quantization | ✅ | ✅ | ✅ | ⚠ currently does not support skinned and morph animations |
KHR_texture_basisu | ✅ | ✅ | ✅ | |
KHR_texture_transform | ✅ | ✅ | ✅ | |
KHR_xmp_json_ld | ❌ | ❌ | ❌ | |
EXT_mesh_gpu_instancing | ❌ | ❌ | ❌ | |
EXT_meshopt_compression | ❌ | ❌ | ❌ | |
EXT_texture_webp | ✅ | ✅ | ✅ | |
KHR_materials_pbrSpecularGlossiness | ✅ | ✅ | ✅ | archived, superseded by KHR_materials_specular |
ADOBE_materials_clearcoat_specular | ❌ | ❌ | ❌ | |
ADOBE_materials_clearcoat_tint | ❌ | ❌ | ❌ |
vrm
feature | import support | export support | optimization support | additional info |
---|---|---|---|---|
general format | ✅ | ✅ | ✅ | v0.0, requires VRM input |
VRM materials | ✅ | ✅ | ✅ | Unlit, MToon |
texture maps | ✅ | ✅ | ✅ | |
rigid animations | ✅ | ✅ | ✅ | |
skinned animations | ✅ | ✅ | ✅ | |
morph targets | ✅ | ✅ | ✅ | |
instancing | ✅ | ✅ | ✅ | |
referencing | ⦸ | ⦸ | ⦸ | |
lights | ✅ | ✅ | ⦸ | |
cameras | ✅ | ✅ | ⦸ |
Material Model Support (vrm)
feature | import support | export support | optimization support | additional info |
---|---|---|---|---|
glTF PBR material | ✅ | ✅ | ✅ |
usd, usda, usdc, usdz
feature | import support | export support | optimization support | additional info |
---|---|---|---|---|
general format | ✅ | ✅ | ✅ | general reading and writing of the format |
texture maps | ✅ | ✅ | ✅ | limited to PNG and JPG on import |
texture transforms | ✅ | ✅ | ✅ | arkit implements transforms differently than official spec, so differences should be expected. |
rigid animations | ✨ | ✨ | ✅ | |
skinned animations | ✨ | ✨ | ✅ | |
morph targets | ✨ | ✨ | ✨ | in development |
scene graph instancing | ✨ | ✨ | ✨ | currently only support for mesh instancing |
referencing | ✨ | ✨ | ✨ | in development |
lights | ❌ | ❌ | ⦸ | |
cameras | ✅ | ✅ | ⦸ | |
scene up axis | ✅ | ✅ | ✅ | |
scene units | ✅ | ✅ | ✅ | |
node hierarchy | ✅ | ✅ | ✅ | generally supported, overrides are not preserved |
node transform matrix | ✅ | ✅ | ✅ | |
mesh positions | ✅ | ✅ | ✅ | |
mesh normals | ✅ | ✅ | ✅ | |
mesh uvs | ✅ | ✅ | ✅ | |
mesh vertex colors | ✨ | ✨ | ✨ | in development |
mesh instancing | ✅ | ✅ | ✅ | in development |
nurbs | ✨ | ✨ | ✨ | in development |
skeletons | ✅ | ✅ | ✅ | in development |
prims | ✅ | ✅ | ⦸ | general support, more detailed overview coming soon ✨✨✨ |
attributes | ✅ | ✅ | ⦸ | general support, more detailed overview coming soon ✨✨✨ |
relationships | ✅ | ✅ | ⦸ | general support, more detailed overview coming soon ✨✨✨ |
metadata | ✨ | ✨ | ⦸ | in development |
layers | ✅ | ✅ | ⦸ | loading of strongest layers and export a single layer. |
composition arcs | ✅ | ✅ | ⦸ | resolving the strongest arcs and writing out simple arcs as needed on export, more detailed overview coming soon ✨✨✨ |
stage | ✅ | ✅ | ⦸ | support for creating and populating a stage during import and export |
(prim) variants | ✨ | ✨ | ✨ | in development |
sub-layering | ✅ | ✨ | ⦸ | Limitation: no creation of multiple files on export. |
(prim) interpolation | ✨ | ✅ | ⦸ | Limitation: import support in development |
payload | ✨ | ✨ | ✨ | in development |
Material Model Support (usd, usda, usdc, usdz)
feature | import support | export support | optimization support | additional info |
---|---|---|---|---|
USDPreviewSurface material | ✅ | ✅ | ✅ | |
Adobe Standard Material | ✅ | ✅ | ✅ | requires ASM input |
OpenPBR | ✨ | ✨ | ✨ | in development |
Material X Nodes | ✨ | ✨ | ✨ | in development |
fbx
feature | import support | export support | optimization support | additional info |
---|---|---|---|---|
general format | ✅ | ✅ | ✅ | general reading and writing of the format |
texture maps | ✅ | ✅ | ✅ | Embed Media is required when creating the FBX |
rigid animations | ✅ | ✨ | ✨ | in development |
skinned animations | ✅ | ✨ | ✨ | in development |
morph targets | ✨ | ✨ | ✨ | in development |
instancing | ✨ | ✨ | ✨ | in development |
referencing | ⦸ | ⦸ | ⦸ | |
lights | ❌ | ❌ | ⦸ | |
cameras | ✅ | ✅ | ⦸ |
Material Model Support (fbx)
feature | import support | export support | optimization support | additional info |
---|---|---|---|---|
Physical Material (3ds Max) | ✅ | ✅ | ✅ | |
Metallic/Roughness Material (3ds Max) | ✅ | ✅ | ✅ | |
Stingray PBS (Maya) | ✅ | ✅ | ✅ | |
OpenPBR | ✨ | ✨ | ✨ | in development |
Principled BSDF (Blender) | ✨ | ✨ | ✨ | in development |
V-Ray materials (3ds Max) | ❌ | ❌ | ❌ | requires DCC Importer |
Standard Surface (Autodesk) | ❌ | ❌ | ❌ |
obj
feature | import support | export support | optimization support | additional info |
---|---|---|---|---|
general format | ✅ | ✅ | ✅ | general reading and writing of the format |
Material Template Library (mtl) | ✅ | ✅ | ✅ | |
texture maps | ✅ | ✅ | ✅ | |
rigid animations | ⦸ | ⦸ | ⦸ | |
skinned animations | ⦸ | ⦸ | ⦸ | |
morph targets | ⦸ | ⦸ | ⦸ | |
instancing | ⦸ | ⦸ | ⦸ | |
referencing | ⦸ | ⦸ | ⦸ | |
lights | ⦸ | ⦸ | ⦸ | |
cameras | ⦸ | ⦸ | ⦸ |
A .mtl file is required in order to read materials associated with an .obj file. In addition, texture maps and the respective paths within the .mtl files have to be present and valid.
Material Model Support (obj)
material property | value | texture map | support | example |
---|---|---|---|---|
basecolor | Kd | map_Kd | ✅ | map_kd material0_albedo.png |
normal | ⦸ | norm | ✅ | norm material0_normal.png |
roughness | Pr | map_Pr | ✅ | map_Pr material0_roughness.png |
metallic | Pm | map_Pm | ✅ | map_Pm material0_metallic.png |
occlusion | ⦸ | occlusion | ✅ | occlusion material0_occlusion.png |
emissive | Ke | map_ke | ✅ | map_Ke material0_emission.png |
sheen | Ps | map_Ps | ❌ | |
clearcoat thickness | Pc | ⦸ | ❌ | |
clearcoat roughness | Pcr | ⦸ | ❌ | |
anisotropy | aniso | ⦸ | ❌ | |
anisotropy rotation | anisor | ⦸ | ❌ |
ply
feature | import support | export support | optimization support | additional info |
---|---|---|---|---|
general format | ✅ | ✅ | ✅ | general reading and writing of the format |
default material | ✅ | ✅ | ✅ | only default material |
texture maps | ✅ | ✅ | ✅ | only base color |
rigid animations | ⦸ | ⦸ | ⦸ | |
skinned animations | ⦸ | ⦸ | ⦸ | |
morph targets | ⦸ | ⦸ | ⦸ | |
instancing | ⦸ | ⦸ | ⦸ | |
referencing | ⦸ | ⦸ | ⦸ | |
lights | ⦸ | ⦸ | ⦸ | |
cameras | ⦸ | ⦸ | ⦸ |
stl
feature | import support | export support | optimization support | additional info |
---|---|---|---|---|
general format | ✅ | ✅ | ✅ | general reading and writing of the format |
default material | ✅ | ✅ | ✅ | only default material |
texture maps | ✅ | ✅ | ✅ | only base color |
rigid animations | ⦸ | ⦸ | ⦸ | |
skinned animations | ⦸ | ⦸ | ⦸ | |
morph targets | ⦸ | ⦸ | ⦸ | |
instancing | ⦸ | ⦸ | ⦸ | |
referencing | ⦸ | ⦸ | ⦸ | |
lights | ⦸ | ⦸ | ⦸ | |
cameras | ⦸ | ⦸ | ⦸ |
CTM
feature | import support | export support | optimization support | additional info |
---|---|---|---|---|
general format | ✅ | ✅ | ✅ | general reading and writing of the format |
default material | ⦸ | ⦸ | ⦸ | only default material |
texture maps | ✅ | ✅ | ✅ | only base color |
rigid animations | ⦸ | ⦸ | ⦸ | |
skinned animations | ⦸ | ⦸ | ⦸ | |
morph targets | ⦸ | ⦸ | ⦸ | |
instancing | ⦸ | ⦸ | ⦸ | |
referencing | ⦸ | ⦸ | ⦸ | |
lights | ⦸ | ⦸ | ⦸ | |
cameras | ⦸ | ⦸ | ⦸ |
CAD Formats
All CAD formats include tessellation on import, and material & mesh instancing, see CAD import settings in 3D Processor CLI v7.1.1.
Advanced CAD Support is available starting with CLI v7.1.1/v6.11.1 CAD, for Enterprise plans and Enterprise evaluations, a premium feature that allows customers to work with professional CAD file formats including CATIA®, SOLIDWORKS®, Inventor™, Revit™, Creo®, NX™, and Solid Edge®.
format | import support | export support | optimization support | additional info |
---|---|---|---|---|
.3dm (Rhino3D) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.3ds | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.3dxml (CATIA) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.3mf | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.asm (Creo) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.asm (SolidEdge) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.catdrawing (CATIA) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.catpart (CATIA) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.catproduct (CATIA) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.catshape (CATIA) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.cgr (CATIA) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.dae (COLLADA) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.dlv (CATIA) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.dwf | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.dwfx | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.dwg | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.dxf | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.exp (CATIA) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.iam (Inventor) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.iges | ✅ | ⦸ | ✅ | Support included in all plans |
.igs | ✅ | ⦸ | ✅ | Support included in all plans |
.ipt (Inventor) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.jt | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.model (CATIA) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.neu (Creo) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.par (SolidEdge) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.prt (Creo) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.psm (SolidEdge) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.pwd (SolidEdge) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.rfa (Revit) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.rvt (Revit) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.session (CATIA) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.sldasm (SolidWorks) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.sldprt (SolidWorks) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.step | ✅ | ⦸ | ✅ | Support included in all plans |
.stp | ✅ | ⦸ | ✅ | Support included in all plans |
.u3d | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.vmrl (VRML) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.wrl (VRML) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.x_b (Parasolid) | ✨ | ⦸ | ✨ | Advanced CAD Support v7.2+/v6.12+ |
.x_t (Parasolid) | ✨ | ⦸ | ✨ | Advanced CAD Support v7.2+/v6.12+ |
.xas (Creo) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
.xmt (Parasolid) | ✨ | ⦸ | ✨ | Advanced CAD Support v7.2+/v6.12+ |
.xmt_txt (Parasolid) | ✨ | ⦸ | ✨ | Advanced CAD Support v7.2+/v6.12+ |
.xpr (Creo) | ✅ | ⦸ | ✅ | Advanced CAD Support v7.1.1/v6.11.1 |
Texture Map Format Support
format | import support | export support | additional info |
---|---|---|---|
EXR | ✨ | ✨ | In development, HDR image format developed by ILM (16-bit) |
JPG, JPEG | ✅ | ✅ | Joint Photographic Experts Group (compression format) |
KTX2 | ✅ | ✅ | GPU compressed textures using BasisU codecs, only supported for glTF/glb/vrm, requires glTF extension KHR_texture_basisu |
PNG | ✅ | ✅ | Portable Network Graphic |
PNG8 | ✅ | ✅ | Indexed version of png (8-bit pixels) |
TGA | ✅ | ✨ | Only import support, not supported with gltf/glb/vrm |
TIF | ✨ | ✨ | In development |
WebP | ✅ | ✅ | Lossless and lossy compression for web images, only supported for glTF/glb/vrm, requires glTF extension EXT_texture_webp |
Texture Map Resolution Support
resolution | import support | export support | baking support | additional info |
---|---|---|---|---|
<= 16384 | ✅ | ✅ | ✅ | All texture map resolutions up to 16k are supported for all operations |
> 16384 | ❌ | ❌ | ❌ | Currently 16k is the max allowed texture map resolution for import/export and baking |
Feature Conversion by Format
feature | glTF, glb, vrm | usd, usda, usdc, usdz | fbx | obj |
---|---|---|---|---|
Backface Culling | doubleSided (material property) | doubleSided (mesh property) | ⦸ | ⦸ |
Material Model Conversion by Format
RapidPipeline 3D Processor has it's own internal PBR material system. See below how each internal material property maps to other supported PBR materials:
3D Processor Material | glTF PBR | USDPreviewSurface | Adobe Standard Material | Physical Material |
---|---|---|---|---|
ATTENUATION_COLOR | attenuationColor | ⦸ | absorptionColor | trans_color |
ATTENUATION_DISTANCE | attenuationDistance | ⦸ | absorptionDistance | ⦸ |
BASE_COLOR | baseColorFactor, baseColorTexture | diffuseColor | baseColor | base_color, base_color_map |
CLEARCOAT | clearcoatFactor, clearcoatTexture | clearcoat | coatOpacity | coating, coat_map |
CLEARCOAT _NORMAL_SCALE | ⦸ | ⦸ | coatNormalScale | ⦸ |
CLEARCOAT _NORMAL_TS | ⦸ | ⦸ | coatNormal | ⦸ |
CLEARCOAT _ROUGHNESS | clearcoatRoughnessFactor, clearcoatRoughnessTexture | clearcoat Roughness | coatRoughness | coat_roughness, coat_rough_map |
DISPLACEMENT | ⦸ | displacement | height | ⦸ |
DISPLACEMENT_OFFSET | ⦸ | ⦸ | heightLevel | ⦸ |
DISPLACEMENT_SCALE | ⦸ | ⦸ | heightScale | ⦸ |
EMISSIVE_COLOR | emissiveFactor, emissiveTexture | emissiveColor | emissive | emit_color, emit_color_map |
EMISSIVE_VALUE | emissiveStrength | ⦸ | emissiveIntensity | emissionMap |
IOR | ior | ior | IOR | trans_ior |
METALLIC | metallicFactor, metallicRoughnessTexture | metallic | metallic | metalness, metalness_map |
NORMAL_SCALE | normalTexture:scale | ⦸ | normalScale | ⦸ |
NORMAL_TS | normalTexture | normal | normal | bump_map |
OCCLUSION | occlusion (ORM) | occlusion | ambientOcclusion | diff_rough_map |
OPACITY | baseColorTexture (alpha channel) | opacity, opacity Threshold | opacity | cutout_map |
ROUGHNESS | roughnessFactor, metallicRoughnessTexture | roughness | roughness | roughness, roughness_map |
SHEEN_COLOR | sheenColorFactor, sheenColorTexture | ⦸ | sheenColor | sheen_color, sheen_color_map |
SHEEN_OPACITY | ⦸ | ⦸ | sheenOpacity | ⦸ |
SHEEN_ROUGHNESS | sheenRoughnessFactor, sheenRoughnessTexture | ⦸ | sheenRoughness | sheen_roughness, sheen_rough_map |
TRANSMISSION | transmissionFactor, transmissionTexture | ⦸ | translucency | transparency, transparency_map |
TEXTURE_TRANSFORM | KHR_texture_transform | UsdTransform2d | ||
SPECULAR_COLOR | specularColorFactor, specularColorTexture | specularColor | specularEdgeColor | refl_color, refl_color_map |
SPECULAR_VALUE | specularFactor, specularTexture | ⦸ | specularLevel | ⦸ |
THICKNESS | thicknessFactor, thicknessTexture | ⦸ | volumeThickness | ⦸ |
THICKNESS_SCALE | ⦸ | ⦸ | volume ThicknessScale | ⦸ |
THIN_WALLED | ⦸ | ⦸ | thinWalled | ⦸ |
ASM_ANISOTROPY | ⦸ | ⦸ | anisotropyLevel | ⦸ |
ASM_ANISOTROPY_ANGLE | ⦸ | ⦸ | anisotropyAngle | ⦸ |
ASM_COAT _SPECULAR_LEVEL | ⦸ | ⦸ | coatSpecularLevel | ⦸ |
ASM_COAT_COLOR | ⦸ | ⦸ | coatColor | ⦸ |
ASM_COAT_IOR | ⦸ | ⦸ | coatIOR | ⦸ |
ASM_COMBINE _NORMAL_AND_HEIGHT | ⦸ | ⦸ | combineNormal AndHeight | ⦸ |
ASM_DISPERSION | ⦸ | ⦸ | dispersion | ⦸ |
ASM_SCATTERING | ⦸ | ⦸ | scatter | ⦸ |
ASM_SCATTERING _COLOR | ⦸ | ⦸ | scatteringColor | ⦸ |
ASM_SCATTERING _DISTANCE | ⦸ | ⦸ | scatteringDistance | ⦸ |
ASM_SCATTERING _DISTANCE_SCALE | ⦸ | ⦸ | scattering DistanceScale | ⦸ |
ASM_SCATTERING _RAYLEIGH | ⦸ | ⦸ | scatteringRayleigh | ⦸ |
ASM_SCATTERING _RED_SHIFT | ⦸ | ⦸ | scatteringRedShift | ⦸ |