Skip to main content
Version: 🚧 Nightly

Supported File Formats

F3D supports the following file formats:

NameFile Extension(s)Full sceneAnimation SupportStreaming SupportPluginReader Name
Legacy VTK.vtkNoNONEYES (VTK 9.7)nativeVTKLegacy
VTK XML.vtp, .vtu, .vtr, .vti, .vts, .vtmNoNONEYES (VTK 9.7)nativeVTKXMLVT<P,U,R,I,S,M>
VTKHDF.vtkhdfNoUNIQUEYES (VTK 9.6)hdfVTKHDF
EXODUS II.e, .ex2, .exo, .gNoUNIQUENOhdfExodusII
NetCDF.nc, .cdf, .ncdfNoUNIQUENOhdfNetCDF
Polygon File Format.plyNoNONEYES (VTK 9.5)nativePLYReader
Standard Triangle Language.stlNoNONEYES (VTK 9.6)nativeSTL
DICOM.dcmNoNONEYES (VTK 9.6)nativeDICOM
NRRD ("nearly raw raster data").nrrd, .nhdrNoNONENOnativeNrrd
MetaHeader MetaIO.mhd, .mhaNoNONENOnativeMetaImage
Tag Image File Format 2D/3D.tif, .tiffNoNONENOnativeTIFF
QuakeMDL.mdlYesSINGLEYES (VTK 9.5)nativeQuakeMDL
CityGML.gmlNoNONEYES (VTK 9.6)nativeCityGML
Point Cloud.ptsNoNONEYES (VTK 9.6)nativePTS
Standard for the Exchange of Product Data.step, .stp, .stpnc, .p21, .210NoNONEYES (VTK 9.6)occtSTEP
Initial Graphics Exchange Specification.iges, .igsNoNONENOocctIGES
Open CASCADE Technology BRep format.brepNoNONEYES (VTK 9.6)occtBREP
Open CASCADE Technology XBF format.xbfNoNONEYES (VTK 9.6)occtXBF
Alembic.abcNoUNIQUEYES (VTK 9.6)alembicAlembic
Wavefront OBJ.objYesNONEPARTIAL (VTK 9.7)nativeOBJ
GL Transmission Format.gltfYesMULTIPARTIAL (VTK 9.6)nativeGLTF, GLTFDraco
GL Transmission Format (binary).glbYesMULTIYES (VTK 9.6)nativeGLB, GLBDraco
Draco.drcNoNONEYESdracoDraco
Autodesk 3D Studio.3dsYesNONEYES (VTK 9.6)native3DS
Virtual Reality Modeling Language.wrl, .vrmlYesNONENOnativeVRMLReader
Autodesk Filmbox.fbxYesSINGLEYES (VTK 9.6)assimpFBX
COLLADA.daeYesSINGLEPARTIAL (VTK 9.6)assimpCOLLADA
Object File Format.offYesNONEYES (VTK 9.6)assimpOFF
Drawing Exchange Format.dxfYesNONEYES (VTK 9.6)assimpDXF
DirectX.xYesSINGLEYES (VTK 9.6)assimpDirectX
3D Manufacturing Format.3mfYesNONEYES (VTK 9.6)assimp3MF
Universal Scene Description.usd, .usda, .usdc, .usdzYesSINGLENOusdUSD
VDB.vdbNoNONEYES (VTK 9.6)vdbVDB
3D Gaussian splatting.splatNoNONEYES (VTK 9.5)nativeSplat
Compressed 3D Gaussian splatting.spzNoNONEYES (VTK 9.5)nativeSPZ

Streaming support refers to the ability to read from stdin and requires specifying the reader name, see the examples.

To get accurate information for your own build of F3D, using the dedicated option, --list-readers.

Reader options

Readers can provide option that can be set using the -D/--define command line option. eg: -DVDB.downsampling_factor=0.5 or using the set_reader_option command.

For booleans, 0 means false, not 0 means true. Unsigned int will interpret anything that is not a non-negative integer as the default value.

File extensionOption NameArgument TypeDescription
vdbVDB.downsampling_factordoubleControl the level of downsampling when reading a volume, default is 0.1.
occtSTEP.linear_deflectiondoubleControl the distance between a curve and the resulting tessellation, default is 0.1.
occtSTEP.angular_deflectiondoubleControl the angle between two subsequent segments, default is 0.5.
occtSTEP.relative_deflectionboolControl if the deflection values are relative to object size, default is false.
occtSTEP.read_wireboolControl if lines should be read, default is true.
occtIGES.linear_deflectiondoubleControl the distance between a curve and the resulting tessellation, default is 0.1.
occtIGES.angular_deflectiondoubleControl the angle between two subsequent segments, default is 0.5.
occtIGES.relative_deflectionboolControl if the deflection values are relative to object size, default is false.
occtIGES.read_wireboolControl if lines should be read, default is true.
occtBREP.linear_deflectiondoubleControl the distance between a curve and the resulting tessellation, default is 0.1.
occtBREP.angular_deflectiondoubleControl the angle between two subsequent segments, default is 0.5.
occtBREP.relative_deflectionboolControl if the deflection values are relative to object size, default is false.
occtBREP.read_wireboolControl if lines should be read, default is true.
occtXBF.linear_deflectiondoubleControl the distance between a curve and the resulting tessellation, default is 0.1.
occtXBF.angular_deflectiondoubleControl the angle between two subsequent segments, default is 0.5.
occtXBF.relative_deflectionboolControl if the deflection values are relative to object size, default is false.
occtXBF.read_wireboolControl if lines should be read, default is true.
mdlQuakeMDL.skin_indexunsigned intSelect a particular skin from a mdl file. Uses 0-indexing, default is 0.

Format details

QuakeMDL

  • Models texture are loaded with a simple PBR lighting (diffuse color only, no specular, index of refraction set to 1.0).
  • Selecting skin is not supported.
  • Animation frames are split based on their names, eg: stand1, stand2, stand3, run1, run2, run3.

3D Gaussian splatting

Currently, 3 different formats are supported by F3D:

Note that no config files come with the .ply format because this format isn't dedicated to 3DGS only so we cannot generalize. If you are using .ply for 3DGS only, you can set up a config file similar to what is done for .splat or .spz. See configuration file documentation