Python bindings for xatlas
(Unofficial) Python bindings for xatlas, a library that generates texture coordinates for triangle meshes.
Installation
From source
git clone --recursive https://github.com/mworchel/xatlas-python.git
pip install ./xatlas-python
Using Pip
pip install xatlas
Usage
Parametrize a mesh and export it
import trimesh
import xatlas
mesh = trimesh.load_mesh("input.obj")
vmapping, indices, uvs = xatlas.parametrize(mesh.vertices, mesh.faces)
xatlas.export("output.obj", mesh.vertices[vmapping], indices, uvs)
Parametrize multiple meshes using one atlas
mesh1 = trimesh.load_mesh("input1.obj")
mesh2 = trimesh.load_mesh("input2.obj")
atlas = xatlas.Atlas()
atlas.add_mesh(mesh1.vertices, mesh1.faces)
atlas.add_mesh(mesh2.vertices, mesh2.faces)
atlas.generate()
vmapping1, indices1, uvs1 = atlas[0]
vmapping2, indices2, uvs2 = atlas[1]
Repack multiple parametrized meshes into one atlas
vertices1, indices1, uvs1 = load_mesh_with_uvs("input1.obj")
vertices2, indices2, uvs2 = load_mesh_with_uvs("input2.obj")
atlas = xatlas.Atlas()
atlas.add_uv_mesh(uvs1, indices1)
atlas.add_uv_mesh(uvs2, indices2)
atlas.generate()
vmapping1, indices1, uvs1 = atlas[0]
vmapping2, indices2, uvs2 = atlas[1]
Query the atlas
atlas.mesh_count
len(atlas)
atlas.get_mesh(i)
atlas[i]
atlas.width
atlas.height
atlas.utilization
atlas.get_utilization(i)
atlas.chart_image
atlas.get_chart_image(i)
...
License
The xatlas Python bindings are provided under a MIT license. By using, distributing, or contributing to this project, you agree to the terms and conditions of this license.
References
Test model taken from the ABC dataset