|
--- |
|
hide_title: true |
|
sidebar_label: File IO |
|
--- |
|
|
|
# File IO |
|
There is a flexible interface for loading and saving point clouds and meshes from different formats. |
|
|
|
The main usage is via the `pytorch3d.io.IO` object, and its methods |
|
`load_mesh`, `save_mesh`, `load_pointcloud` and `save_pointcloud`. |
|
|
|
For example, to load a mesh you might do |
|
``` |
|
from pytorch3d.io import IO |
|
|
|
device=torch.device("cuda:0") |
|
mesh = IO().load_mesh("mymesh.obj", device=device) |
|
``` |
|
|
|
and to save a pointcloud you might do |
|
``` |
|
pcl = Pointclouds(...) |
|
IO().save_pointcloud(pcl, "output_pointcloud.ply") |
|
``` |
|
|
|
For meshes, this supports OBJ, PLY and OFF files. |
|
|
|
For pointclouds, this supports PLY files. |
|
|
|
In addition, there is experimental support for loading meshes from |
|
[glTF 2 assets](https://github.com/KhronosGroup/glTF/tree/master/specification/2.0) |
|
stored either in a GLB container file or a glTF JSON file with embedded binary data. |
|
This must be enabled explicitly, as described in |
|
`pytorch3d/io/experimental_gltf_io.py`. |
|
|