mirror of
https://github.com/facebookresearch/pytorch3d.git
synced 2025-12-20 06:10:34 +08:00
Tutorials textures updates and fix bug in extending meshes with uv textures
Summary: Found a bug in extending textures with vertex uv coordinates. This was due to the padded -> list conversion of vertex uv coordinates i.e. The number of vertices in the mesh and in verts_uvs can differ e.g. if a vertex is shared between 3 faces, it can have up to 3 different uv coordinates. Therefore we cannot convert directly from padded to list using _num_verts_per_mesh Reviewed By: bottler Differential Revision: D23233595 fbshipit-source-id: 0c66d15baae697ead0bdc384f74c27d4c6539fc9
This commit is contained in:
committed by
Facebook GitHub Bot
parent
d330765847
commit
90f6a005b0
@@ -588,10 +588,19 @@ class TestTexturesUV(TestCaseMixin, unittest.TestCase):
|
||||
tex_init = tex_mesh.textures
|
||||
new_tex = new_mesh.textures
|
||||
|
||||
new_tex_num_verts = new_mesh.num_verts_per_mesh()
|
||||
for i in range(len(tex_mesh)):
|
||||
for n in range(N):
|
||||
tex_nv = new_tex_num_verts[i * N + n]
|
||||
self.assertClose(
|
||||
tex_init.verts_uvs_list()[i], new_tex.verts_uvs_list()[i * N + n]
|
||||
# The original textures were initialized using
|
||||
# verts uvs list
|
||||
tex_init.verts_uvs_list()[i],
|
||||
# In the new textures, the verts_uvs are initialized
|
||||
# from padded. The verts per mesh are not used to
|
||||
# convert from padded to list. See TexturesUV for an
|
||||
# explanation.
|
||||
new_tex.verts_uvs_list()[i * N + n][:tex_nv, ...],
|
||||
)
|
||||
self.assertClose(
|
||||
tex_init.faces_uvs_list()[i], new_tex.faces_uvs_list()[i * N + n]
|
||||
|
||||
Reference in New Issue
Block a user