three-d-asset

April 29, 2026 · View on GitHub

crates.io Docs.rs Continuous integration MIT licensed

This is an attempt to do a general crate for loading, saving and editing 3D assets. The idea is that it should be possible to use it as a base for any type of visualization or advanced editing tools, a bit like the image crate, just for 3D assets. Contributions are very much appreciated!

The crate contain a set of common assets that are useful when doing graphics which can be loaded using the io module or constructed manually. When in memory, the assets can be for example be

  • visualised, for example using the three-d crate or in a CPU ray tracer
  • imported into a rust-based game engine
  • edited and saved again

Model

FormatDeserializeSerializeFeature
OBJ/MTLobj
GLTF/GLBgltf
STLstl
FBXfbx
3MF3mf

Texture2D

FormatDeserializeSerializeFeature
PNGpng
JPEGjpeg
HDRhdr
GIFgif
TGAtga
TIFFtiff
BMPbmp
SVGsvg
WebPwebp

PointCloud

FormatDeserializeSerializeFeature
PCDpcd

VoxelGrid

FormatDeserializeSerializeFeature
VOLvol