/three-d-asset

General input/output functionality for 3D assets

Primary LanguageRustMIT LicenseMIT

three-d-asset

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

Format Deserialize Serialize Feature
OBJ/MTL obj 
GLTF/GLB gltf 

Texture2D

Format Deserialize Serialize Feature
PNG png
JPEG  jpeg
HDR hdr
GIF gif
TGA tga
TIFF tiff
BMP bmp

PointCloud

Format Deserialize Serialize Feature
PCD pcd

VoxelGrid

Format Deserialize Serialize Feature
VOL vol