3D Formats & Materials
Introduction
RapidPipeline 3D Processor supports a wide range of modern 3D formats, features and conversions.
tip
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 |
glTF pbr material | ✅ | ✅ | ✅ | |
texture maps | ✅ | ✅ | ✅ | |
rigid animations | ✅ | ✅ | ✅ | |
skinned animations | ✅ | ✅ | ✅ | |
morph targets | ✅ | ✅ | ✅ | |
instancing | ✅ | ✅ | ✅ | |
referencing | ⦸ | ⦸ | ⦸ | |
lights | ✅ | ✅ | ⦸ | |
cameras | ✅ | ✅ | ⦸ |
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 | ✅ | ✅ | ✅ | requires VRM input |
glTF PBR material | ✅ | ✅ | ✅ | |
VRM materials | ✅ | ✅ | ✅ | Unlit, MToon |
texture maps | ✅ | ✅ | ✅ | |
rigid animations | ✅ | ✅ | ✅ | |
skinned animations | ✅ | ✅ | ✅ | |
morph targets | ✅ | ✅ | ✅ | |
instancing | ✅ | ✅ | ✅ | |
referencing | ⦸ | ⦸ | ⦸ | |
lights | ✅ | ✅ | ⦸ | |
cameras | ✅ | ✅ | ⦸ |
usd, usda, usdc, usdz
Feature | import support | export support | optimization support | additional info |
---|---|---|---|---|
general format | ✅ | ✅ | ✅ | general reading and writing of the format |
USDPreviewSurface material | ✅ | ✅ | ✅ | |
Adobe Standard Material | ✅ | ✅ | ✅ | requires ASM input |
texture maps | ✅ | ✅ | ✅ | limited to PNG and JPG on import |
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 |
fbx
Feature | import support | export support | optimization support | additional info |
---|---|---|---|---|
general format | ✅ | ✅ | ✅ | general reading and writing of the format |
Physical Material (3ds Max) | ✅ | ✅ | ✅ | |
Metallic/Roughness Material (3ds Max) | ✅ | ✅ | ✅ | |
V-Ray materials (3ds Max) | ❌ | ❌ | ❌ | requires DCC Importer |
Stingray PBS (Maya) | ✅ | ✅ | ✅ | |
Principled BSDF (Blender) | ✨ | ✨ | ✨ | in development |
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 | ✅ | ✅ | ⦸ |
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 | ⦸ | ⦸ | ⦸ |
info
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 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
Format | import support | export support | optimization support | additional info |
---|---|---|---|---|
STEP, STP | ✅ | ⦸ | ✅ | tessellation on import, material & mesh instancing support |
IGES, IGS | ✅ | ⦸ | ✅ | tessellation on import, material & mesh instancing support |
U3D | ✅ | ⦸ | ✅ | tessellation on import, from 3DP CLI v7.1.1 on (enterprise plan) |
JT | ✅ | ⦸ | ✅ | tessellation on import, from 3DP CLI v7.1.1 on (enterprise plan) |
Solid Edge | ✅ | ⦸ | ✅ | tessellation on import, from 3DP CLI v7.1.1 on (enterprise plan) |
SOLIDWORKS | ✅ | ⦸ | ✅ | tessellation on import, from 3DP CLI v7.1.1 on (enterprise plan) |
CATIA | ✅ | ⦸ | ✅ | tessellation on import, from 3DP CLI v7.1.1 on (enterprise plan) |
Inventor | ✅ | ⦸ | ✅ | tessellation on import, from 3DP CLI v7.1.1 on (enterprise plan) |
Revit | ✅ | ⦸ | ✅ | tessellation on import, from 3DP CLI v7.1.1 on (enterprise plan) |
DWG | ✅ | ⦸ | ✅ | tessellation on import, from 3DP CLI v7.1.1 on (enterprise plan) |
DWF | ✅ | ⦸ | ✅ | tessellation on import, from 3DP CLI v7.1.1 on (enterprise plan) |
DXF | ✅ | ⦸ | ✅ | tessellation on import, from 3DP CLI v7.1.1 on (enterprise plan) |
3DS | ✅ | ⦸ | ✅ | tessellation on import, from 3DP CLI v7.1.1 on (enterprise plan) |
Creo (ptc) | ✅ | ⦸ | ✅ | tessellation on import, from 3DP CLI v7.1.1 on (enterprise plan) |
VRML | ✅ | ⦸ | ✅ | tessellation on import, from 3DP CLI v7.1.1 on (enterprise plan) |
3MF | ✅ | ⦸ | ✅ | tessellation on import, from 3DP CLI v7.1.1 on (enterprise plan) |
Rhino | ✅ | ⦸ | ✅ | tessellation on import, from 3DP CLI v7.1.1 on (enterprise plan) |
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 | Material Sideness | Mesh Sideness | ⦸ |
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 |
---|---|---|---|---|
BASE_COLOR | baseColorFactor, baseColorTexture | diffuseColor | baseColor | base_color, base_color_map |
OPACITY | baseColorTexture (alpha channel) | opacity, opacity Threshold | opacity | cutout_map |
ROUGHNESS | roughnessFactor, metallicRoughnessTexture | roughness | roughness | roughness, roughness_map |
METALLIC | metallicFactor, metallicRoughnessTexture | metallic | metallic | metalness, metalness_map |
SPECULAR_VALUE | specularFactor, specularTexture | ⦸ | specularLevel | ⦸ |
SPECULAR_COLOR | specularColorFactor, specularColorTexture | specularColor | specularEdgeColor | refl_color, refl_color_map |
NORMAL_TS | normalTexture | normal | normal | bump_map |
NORMAL_SCALE | normalTexture:scale | ⦸ | normalScale | ⦸ |
ASM_COMBINE _NORMAL_AND_HEIGHT | ⦸ | ⦸ | combineNormal AndHeight | ⦸ |
DISPLACEMENT | ⦸ | displacement | height | ⦸ |
DISPLACEMENT_SCALE | ⦸ | ⦸ | heightScale | ⦸ |
DISPLACEMENT_OFFSET | ⦸ | ⦸ | heightLevel | ⦸ |
ASM_ANISOTROPY | ⦸ | ⦸ | anisotropyLevel | ⦸ |
ASM_ANISOTROPY_ANGLE | ⦸ | ⦸ | anisotropyAngle | ⦸ |
EMISSIVE_VALUE | emissiveStrength | ⦸ | emissiveIntensity | emissionMap |
EMISSIVE_COLOR | emissiveFactor, emissiveTexture | emissiveColor | emissive | emit_color, emit_color_map |
SHEEN_OPACITY | ⦸ | ⦸ | sheenOpacity | ⦸ |
SHEEN_COLOR | sheenColorFactor, sheenColorTexture | ⦸ | sheenColor | sheen_color, sheen_color_map |
SHEEN_ROUGHNESS | sheenRoughnessFactor, sheenRoughnessTexture | ⦸ | sheenRoughness | sheen_roughness, sheen_rough_map |
TRANSMISSION | transmissionFactor, transmissionTexture | ⦸ | translucency | transparency, transparency_map |
IOR | ior | ior | IOR | trans_ior |
ASM_DISPERSION | ⦸ | ⦸ | dispersion | ⦸ |
ATTENUATION_COLOR | attenuationColor | ⦸ | absorptionColor | trans_color |
ATTENUATION_DISTANCE | attenuationDistance | ⦸ | absorptionDistance | ⦸ |
ASM_SCATTERING | ⦸ | ⦸ | scatter | ⦸ |
ASM_SCATTERING _COLOR | ⦸ | ⦸ | scatteringColor | ⦸ |
ASM_SCATTERING _DISTANCE | ⦸ | ⦸ | scatteringDistance | ⦸ |
ASM_SCATTERING _DISTANCE_SCALE | ⦸ | ⦸ | scattering DistanceScale | ⦸ |
ASM_SCATTERING _RED_SHIFT | ⦸ | ⦸ | scatteringRedShift | ⦸ |
ASM_SCATTERING _RAYLEIGH | ⦸ | ⦸ | scatteringRayleigh | ⦸ |
CLEARCOAT | clearcoatFactor, clearcoatTexture | clearcoat | coatOpacity | coating, coat_map |
ASM_COAT_COLOR | ⦸ | ⦸ | coatColor | ⦸ |
CLEARCOAT _ROUGHNESS | clearcoatRoughnessFactor, clearcoatRoughnessTexture | clearcoat Roughness | coatRoughness | coat_roughness, coat_rough_map |
ASM_COAT_IOR | ⦸ | ⦸ | coatIOR | ⦸ |
ASM_COAT _SPECULAR_LEVEL | ⦸ | ⦸ | coatSpecularLevel | ⦸ |
CLEARCOAT _NORMAL_TS | ⦸ | ⦸ | coatNormal | ⦸ |
CLEARCOAT _NORMAL_SCALE | ⦸ | ⦸ | coatNormalScale | ⦸ |
OCCLUSION | occlusion (ORM) | occlusion | ambientOcclusion | diff_rough_map |
THICKNESS | thicknessFactor, thicknessTexture | ⦸ | volumeThickness | ⦸ |
THICKNESS_SCALE | ⦸ | ⦸ | volume ThicknessScale | ⦸ |
THIN_WALLED | ⦸ | ⦸ | thinWalled | ⦸ |