- 24 Jun, 2021 2 commits
-
-
Patrick Labatut authored
Summary: Annotate the (return type of the) following dunder functions across the codebase: `__init__()`, `__len__()`, `__getitem__()` Reviewed By: nikhilaravi Differential Revision: D29001801 fbshipit-source-id: 928d9e1c417ffe01ab8c0445311287786e997c7c
-
Georgia Gkioxari authored
Summary: Refactor of all functions to compute laplacian matrices in one file. Support for: * Standard Laplacian * Cotangent Laplacian * Norm Laplacian Reviewed By: nikhilaravi Differential Revision: D29297466 fbshipit-source-id: b96b88915ce8ef0c2f5693ec9b179fd27b70abf9
-
- 22 Jun, 2021 1 commit
-
-
Patrick Labatut authored
Summary: License lint codebase Reviewed By: theschnitz Differential Revision: D29001799 fbshipit-source-id: 5c59869911785b0181b1663bbf430bc8b7fb2909
-
- 11 Jun, 2021 1 commit
-
-
Nikhila Ravi authored
Summary: When textures are set on `Meshes` we need to check if the dimensions actually match that of the verts/faces in the mesh. There was a github issue where someone tried to set the attribute after construction of the `Meshes` object and ran into an error when trying to sample textures. The desired usage is to initialize the class with the textures (not set an attribute afterwards) but in any case we need to check the dimensions match before sampling textures. Reviewed By: bottler Differential Revision: D29020249 fbshipit-source-id: 9fb8a5368b83c9ec53652df92b96fc8b2613f591
-
- 09 Jun, 2021 4 commits
-
-
Patrick Labatut authored
Summary: Tidy uses of `torch.device` in `Volumes`: - Allow `str` or `torch.device` in `Volumes.to()` method - Consistently use `torch.device` for internal type - Fix comparison of devices Reviewed By: nikhilaravi Differential Revision: D28970876 fbshipit-source-id: c640cc22ced684a54cc450ac38a0f4b3435d47be
-
Patrick Labatut authored
Summary: Tidy uses of `torch.device` in `Pointclouds`: - Allow `str` or `torch.device` in `Pointclouds.to()` method - Consistently use `torch.device` for internal type - Fix comparison of devices Reviewed By: nikhilaravi Differential Revision: D28970221 fbshipit-source-id: 3ca7104d4c0d9b20b0cff4f00e3ce931c5f1528a
-
Patrick Labatut authored
Summary: Tidy uses of `torch.device` in `Meshes`: - Allow `str` or `torch.device` in `Meshes.to()` method - Consistently use `torch.device` for internal type - Fix comparison of devices Reviewed By: nikhilaravi Differential Revision: D28969461 fbshipit-source-id: 16d3c1f5458954bb11fdf0efea88542e94dccd7a
-
Patrick Labatut authored
Summary: Improve type annotations for volumes and remove a few pyre fixmes Reviewed By: nikhilaravi Differential Revision: D28943371 fbshipit-source-id: ca2b7a50d72a392910e65cee5e564f34523414d2
-
- 08 Jun, 2021 1 commit
-
-
Patrick Labatut authored
Summary: All classes implicitly inherit from `object` since Python 3, so remove unnecessary explicit inheritance. From the [official documentation](https://docs.python.org/3/library/functions.html#object): > `object` is a base for all classes. Reviewed By: nikhilaravi Differential Revision: D28942595 fbshipit-source-id: 466c0d19d8a93a6263e7ad734c3e87160cfa6066
-
- 04 May, 2021 4 commits
-
-
Jeremy Reizenstein authored
Summary: Add ability to ask a Meshes if it already has normals. If it does, then requesting normals will not trigger a calculation. MeshesFormatInterpreters will therefore be able to decide whether to save normals. Reviewed By: theschnitz, nikhilaravi Differential Revision: D27765261 fbshipit-source-id: 7c87dbf999d5616d20f5eb2c01039ee5ff65a830
-
Jeremy Reizenstein authored
Summary: Add ability to set the vertex normals when creating a Meshes, so that the pluggable loaders can return them from a file. Reviewed By: nikhilaravi Differential Revision: D27765258 fbshipit-source-id: b5ddaa00de3707f636f94d9f74d1da12ecce0608
-
Jeremy Reizenstein authored
Summary: If offset_verts_ is used to move meshes with a single vector, the normals won't change so don't need to recalculate. I am planning to allow user-specified vertex normals. This change means that user-specified vertex normals won't get overwritten when they don't need to be. Reviewed By: nikhilaravi Differential Revision: D27765256 fbshipit-source-id: f6e4d308ac9ac023030325cb75a18d39b966cf88
-
Jeremy Reizenstein authored
Summary: There is no need to recalculate normals when scaling a mesh by a constant. We omit doing this for vertex normals. This will make things less confusing when we allow user-specified vertex normals. Face normals also don't need recalculating, but they are calculated at the same time as face areas which do, so it is easiest not to change their behavior here. That is convenient because we are not immediately planning to allow user-specified face normals. Reviewed By: nikhilaravi Differential Revision: D27793476 fbshipit-source-id: 827f1be4bc78bf0391ce3959cce48c4f3ee326fe
-
- 17 Apr, 2021 1 commit
-
-
Wanchao Liang authored
Reviewed By: divchenko Differential Revision: D27835360 fbshipit-source-id: cbb23793ee57382e43bd65bd40cfeb2820c6eec2
-
- 09 Apr, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Collection of spelling things, mostly in docs / tutorials. Reviewed By: gkioxari Differential Revision: D26101323 fbshipit-source-id: 652f62bc9d71a4ff872efa21141225e43191353a
-
- 02 Feb, 2021 1 commit
-
-
Edgar Riba authored
Summary: adds missing spaces in the `estimate_normals` docstrings Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/530 Reviewed By: bottler Differential Revision: D26008667 Pulled By: nikhilaravi fbshipit-source-id: 88cccd7e777fa2df0aea15c087db9e7fb634d93f
-
- 25 Jan, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Ensure that `mesh2 = mesh.to(device)` doesn't change the device of `mesh.textures`. Reviewed By: nikhilaravi Differential Revision: D25978610 fbshipit-source-id: 0558cd62132965d8693ebeea05e42b8c1d16cfbf
-
- 22 Jan, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: It is common when trying things out to want to move a whole mesh or point cloud by the same amount. Here we allow the offset functions to broadcast. Also add a sanity check to join_meshes_as_scene which it is easy to call wrongly. Reviewed By: nikhilaravi Differential Revision: D25980593 fbshipit-source-id: cdf1568e1317e3b81ad94ed4e608ba7eef81290b
-
- 07 Jan, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Unified interface for loading and saving meshes and pointclouds. Reviewed By: nikhilaravi Differential Revision: D25372968 fbshipit-source-id: 6fe57cc3704a89d81d13e959bee707b0c7b57d3b
-
- 05 Jan, 2021 3 commits
-
-
generatedunixname89002005307016 authored
Differential Revision: D25781183 fbshipit-source-id: e27808a4c2b94bba205756001cb909827182b592
-
David Novotny authored
Summary: Implemented a data structure for volumes. Reviewed By: gkioxari Differential Revision: D20342920 fbshipit-source-id: ccc23eaa183ed8a4e9cd7674b4dcf31e8a65c3c6
-
generatedunixname89002005307016 authored
Differential Revision: D25777275 fbshipit-source-id: ca30fedca118ff22a8be5e29c4c4f21628c94579
-
- 04 Jan, 2021 1 commit
-
-
David Novotny authored
Summary: Extends `list_to_padded`/`padded_to_list` to work for tensors with an arbitrary number of input dimensions. Reviewed By: nikhilaravi, gkioxari Differential Revision: D23813969 fbshipit-source-id: 52c212a2ecdb3c4dfb6ac47217715e07998f37f1
-
- 15 Dec, 2020 1 commit
-
-
Evgeniy Zheltonozhskiy authored
Add check for verts and faces being on same device and also checks for pointclouds/features/normals being on the same device (#384) Summary: Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/384 Test Plan: `test_meshes` and `test_points` Reviewed By: gkioxari Differential Revision: D24730524 Pulled By: nikhilaravi fbshipit-source-id: acbd35be5d9f1b13b4d56f3db14f6e8c2c0f7596
-
- 04 Nov, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: Move to a local import for calculating pointcloud normals, similar to _compute_face_areas_normals on Meshes. Reviewed By: theschnitz Differential Revision: D24695260 fbshipit-source-id: 9e1eb5d15017975b8c4f4175690cc3654f38d9a4
-
- 20 Oct, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: As pointed out in #328, we had an indexing operation where a reshape would do and be faster. The resulting faces_packed_to_edges_packed is no longer contiguous. Also fix a use of faces_packed_to_edges_packed which might modify the object unintentionally. Reviewed By: theschnitz Differential Revision: D24390292 fbshipit-source-id: 225677d8fcc1d6b76efad7706718ecdb5182ffe1
-
- 18 Oct, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: The linter has become stricter about the indenting of comments and docstrings. This was accompanied by a codemod. In a few places we can fix the problem nicer than the codemod has. Reviewed By: gkioxari Differential Revision: D24363880 fbshipit-source-id: 4cff3bbe3d2a834bc92a490469a2b24fa376e6ab
-
- 15 Oct, 2020 1 commit
-
-
John Reese authored
Summary: allow-large-files black_any_style Reviewed By: zertosh Differential Revision: D24325133 fbshipit-source-id: b4afe80d1e8b2bc993f4b8e3822c02964df47462
-
- 16 Sep, 2020 1 commit
-
-
OrHayat authored
Summary: fixed small typo in update_padded function docstring. Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/322 Reviewed By: gkioxari Differential Revision: D23712324 Pulled By: nikhilaravi fbshipit-source-id: fea3b68039644b236897c6f465cbb322c5c48085
-
- 02 Sep, 2020 1 commit
-
-
Adly Templeton authored
Summary: Adding some appropriate methods into pyre typeshed. Removing corresponding pyre-ignore and pyre-fixme messages. Differential Revision: D22949138 fbshipit-source-id: add8acdd4611ab698954868832594d062cd58f88
-
- 25 Aug, 2020 2 commits
-
-
Jeremy Reizenstein authored
Summary: Add a join_scene method to all the textures to allow the join_mesh function to include textures. Rename the join_mesh function to join_meshes_as_scene. For TexturesAtlas, we now interpolate if the user attempts to have the resolution vary across the batch. This doesn't look great if the resolution is already very low. For TexturesUV, a rectangle packing function is required, this does something simple. Reviewed By: gkioxari Differential Revision: D23188773 fbshipit-source-id: c013db061a04076e13e90ccc168a7913e933a9c5
-
Jeremy Reizenstein authored
Summary: Allow, and make default, align_corners=True for texture maps. Allow changing the padding_mode and set the default to be "border" which produces more logical results. Some new documentation. The previous behavior corresponds to padding_mode="zeros" and align_corners=False. Reviewed By: gkioxari Differential Revision: D23268775 fbshipit-source-id: 58d6229baa591baa69705bcf97471c80ba3651de
-
- 21 Aug, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: faces_uvs_packed and verts_uvs_packed were only used in one place and the definition of the former was ambiguous. This meant that the wrong coordinates could be used for meshes other than the first in the batch. I have therefore removed both functions and build their common result inline. Added a test that a simple batch of two meshes is rendered consistently with the rendering of each alone. This test would have failed before. I hope this fixes https://github.com/facebookresearch/pytorch3d/issues/283. Some other small improvements to the textures code. Reviewed By: nikhilaravi Differential Revision: D23161936 fbshipit-source-id: f99b560a46f6b30262e07028b049812bc04350a7
-
- 17 Aug, 2020 1 commit
-
-
Georgia Gkioxari authored
Summary: Add `detach` for Meshes, Pointclouds, Textures Reviewed By: nikhilaravi Differential Revision: D23070418 fbshipit-source-id: 68671124ce114c4495d7ef3c944c9aac3d0db2d8
-
- 29 Jul, 2020 1 commit
-
-
Nikhila Ravi authored
Summary: A fairly big refactor of the texturing API with some breaking changes to how textures are defined. Main changes: - There are now 3 types of texture classes: `TexturesUV`, `TexturesAtlas` and `TexturesVertex`. Each class: - has a `sample_textures` function which accepts the `fragments` from rasterization and returns `texels`. This means that the shaders will not need to know the type of the mesh texture which will resolve several issues people were reporting on GitHub. - has a `join_batch` method for joining multiple textures of the same type into a batch Reviewed By: gkioxari Differential Revision: D21067427 fbshipit-source-id: 4b346500a60181e72fdd1b0dd89b5505c7a33926
-
- 21 Jul, 2020 1 commit
-
-
generatedunixname89002005307016 authored
Reviewed By: pradeep90 Differential Revision: D22628883 fbshipit-source-id: a19c271b4025c0e3c61408604a7e0f9fbcbdfa5b
-
- 03 Jul, 2020 1 commit
-
-
Georgia Gkioxari authored
Summary: Fix: * Scaling of point clouds for scalars * save_ply compatible cat Reviewed By: nikhilaravi Differential Revision: D22298609 fbshipit-source-id: abe94a5b64baf325587202d20adfc36912cc1478
-
- 10 Jun, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: Pytorch seems to be becoming stricter about integer tensors of shape `(1,)` on GPU and not allowing them to be used as `int`s. For example the following no longer works on pytorch master, foo = torch.tensor([3, 5, 3], device="cuda:0") torch.arange(10) + foo[0] because this is the sum of tensors on different devices. Here fix tests which recently broke because of this. Reviewed By: nikhilaravi Differential Revision: D21929745 fbshipit-source-id: 25374f70468d1c895372766f1a9dd61df0833957
-
- 09 Jun, 2020 1 commit
-
-
Luya Gao authored
Summary: Adding a function in pytorch3d.structures.meshes to join multiple meshes into a Meshes object representing a single mesh. The function currently ignores all textures. Reviewed By: nikhilaravi Differential Revision: D21876908 fbshipit-source-id: 448602857e9d3d3f774d18bb4e93076f78329823
-
- 03 Jun, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: To avoid pytorch warnings and future behaviour changes, stop using torch.div and / with tensors of integers. Reviewed By: gkioxari, mruberry Differential Revision: D21857955 fbshipit-source-id: fb9f3000f3d953352cdc721d2a5f73d3a4bbf4b7
-