1. 23 Mar, 2020 1 commit
    • Jeremy Reizenstein's avatar
      suggest up to date python · 744ef0c2
      Jeremy Reizenstein authored
      Summary: By accident I think, we have been nudging people to install python 3.6. Using 3.8 is fine.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20597240
      
      fbshipit-source-id: 7fb778f1b84746db28b6eef763564af5c5fffcd7
      744ef0c2
  2. 22 Mar, 2020 1 commit
    • Georgia Gkioxari's avatar
      run lint · 03f441e7
      Georgia Gkioxari authored
      Summary: Run `/dev/linter.sh` to fix linting
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20584037
      
      fbshipit-source-id: 69e45b33d22e3d54b6d37c3c35580bb3e9dc50a5
      03f441e7
  3. 21 Mar, 2020 1 commit
    • Nikhila Ravi's avatar
      Tutorial updates · 6d34e1c6
      Nikhila Ravi authored
      Summary:
      Add a note about the difference between naive and coarse-to-fine rasterization to all the rendering tutorials.
      
      Update the render pointclouds tutorial to wget the data file.
      
      Reviewed By: gkioxari
      
      Differential Revision: D20575257
      
      fbshipit-source-id: a2806b9452438f97cb754f87e011c6e32e2545e4
      6d34e1c6
  4. 20 Mar, 2020 1 commit
    • Georgia Gkioxari's avatar
      replace view with reshape, check for nans · 6c48ff6a
      Georgia Gkioxari authored
      Summary: Replace view with reshape, add check for nans before mesh sampling
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20548456
      
      fbshipit-source-id: c4e1b88e033ecb8f0f3a8f3a33a04ce13a5b5043
      6c48ff6a
  5. 19 Mar, 2020 1 commit
    • Olivia's avatar
      Accumulate points (#4) · 53599770
      Olivia authored
      Summary:
      Code for accumulating points in the z-buffer in three ways:
      1. weighted sum
      2. normalised weighted sum
      3. alpha compositing
      
      Pull Request resolved: https://github.com/fairinternal/pytorch3d/pull/4
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20522422
      
      Pulled By: gkioxari
      
      fbshipit-source-id: 5023baa05f15e338f3821ef08f5552c2dcbfc06c
      53599770
  6. 18 Mar, 2020 4 commits
  7. 17 Mar, 2020 4 commits
    • Patrick Labatut's avatar
      Enable spelling linter for Markdown, reStructuredText and IPython notebooks · c9742d00
      Patrick Labatut authored
      Summary: Enable spelling linter for Markdown, reStructuredText and IPython notebooks under `fbcode/vision/fair`. Apply suggested fixes.
      
      Reviewed By: ppwwyyxx
      
      Differential Revision: D20495298
      
      fbshipit-source-id: 95310c7b51f9fa68ba2aa34ecc39a874da36a75c
      c9742d00
    • Nikhila Ravi's avatar
      website updates · 3901dbe4
      Nikhila Ravi authored
      Summary:
      A few small website updates:
      
      - changed the tutorials to point to the `stable` tag on github so we don't have to update the website each time we want to run them!
      - changed the colab button
      - re ran notebook cells to update the images for textured meshes
      
      Once these fixes are landed I can build and publish the website.
      
      Reviewed By: bottler
      
      Differential Revision: D20484836
      
      fbshipit-source-id: 603a05e752f631c60d1a3abb9adeb1b9b451ab98
      3901dbe4
    • Patrick Labatut's avatar
      Use a consistent case for PyTorch3D · 25d2e2c8
      Patrick Labatut authored
      Summary: Use a consistent case for PyTorch3D (matching the logo...): replace all occurrences of PyTorch3d with PyTorch3D across the codebase (including documentation and notebooks)
      
      Reviewed By: wanyenlo, gkioxari
      
      Differential Revision: D20427546
      
      fbshipit-source-id: 8c7697f51434c51e99b7fe271935932c72a1d9b9
      25d2e2c8
    • Nikhila Ravi's avatar
      Rendering texturing fixes · 5d3cc356
      Nikhila Ravi authored
      Summary:
      Fix errors raised by issue on GitHub - extending mesh textures + rendering with Gourad and Phong shaders.
      
      https://github.com/facebookresearch/pytorch3d/issues/97
      
      Reviewed By: gkioxari
      
      Differential Revision: D20319610
      
      fbshipit-source-id: d1c692ff0b9397a77a9b829c5c731790de70c09f
      5d3cc356
  8. 16 Mar, 2020 2 commits
    • Jeremy Reizenstein's avatar
      Fix BUILD_VERSION for conda · f580ce13
      Jeremy Reizenstein authored
      Summary: D20426113 made a mistake, in that it added a dev tag to all conda builds. This makes the simplest fix, which is to never have the dev tag.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20468541
      
      fbshipit-source-id: adc71b58d59356834d33f65a75cf8ba84359bc74
      f580ce13
    • Jeremy Reizenstein's avatar
      test_build · fa819533
      Jeremy Reizenstein authored
      Summary: Ensure copyright header consistency and translation unit name uniqueness.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20438802
      
      fbshipit-source-id: 9820cfe4c6efab016a0a8589dfa24bb526692f83
      fa819533
  9. 15 Mar, 2020 1 commit
    • Nikhila Ravi's avatar
      [pytorch3d[ padded to packed function in struct utils · 20e457ca
      Nikhila Ravi authored
      Summary: Added a padded to packed utils function which takes either split sizes or a padding value to remove padded elements from a tensor.
      
      Reviewed By: gkioxari
      
      Differential Revision: D20454238
      
      fbshipit-source-id: 180b807ff44c74c4ee9d5c1ac3b5c4a9b4be57c7
      20e457ca
  10. 13 Mar, 2020 4 commits
    • Jeremy Reizenstein's avatar
      Version number in one place in the code. · 4d3c8866
      Jeremy Reizenstein authored
      Summary:
      This isn't the whole task, but it gets the version number into far fewer places.
      
      The doc / website are separate.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20426113
      
      fbshipit-source-id: 5810d1eca58b443fcd5f46991dc2f0f26adedbd8
      4d3c8866
    • Jeremy Reizenstein's avatar
      squared distance in comments · 23618455
      Jeremy Reizenstein authored
      Summary: Comments were describing squared distance as absolute distance in a few places.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20426020
      
      fbshipit-source-id: 009946867c4a98f61f5ce7158542d41e22bf8346
      23618455
    • Patrick Labatut's avatar
      Add more complex mesh I/O benchmarks · d91c1d36
      Patrick Labatut authored
      Summary: Add more complex mesh I/O benchmarks: simple yet non-trivial procedural donut mesh
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20390726
      
      fbshipit-source-id: b28b7e3a7f1720823c6bd24faabf688bb0127b7d
      d91c1d36
    • Patrick Labatut's avatar
      Add utility function to tesselate a torus · 327868b8
      Patrick Labatut authored
      Summary: Add utility function to tesselate a torus, to be used in more complex mesh I/O benchmarks
      
      Reviewed By: bottler
      
      Differential Revision: D20390724
      
      fbshipit-source-id: 882bbbe9cac81cf340a34495b9aa66e3c1ddeebc
      327868b8
  11. 12 Mar, 2020 6 commits
    • Patrick Labatut's avatar
      Use more realistic number of vertices / faces in benchmarks · 098554d3
      Patrick Labatut authored
      Summary: Use more realistic number of vertices / faces in benchmarks: in typical meshes, |F| ~ 2 |V| (follows from Euler formula + triangles as faces)
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20390722
      
      fbshipit-source-id: d615e5810d6f4521391963b2573497c08a58db80
      098554d3
    • Patrick Labatut's avatar
      Simplify mesh I/O benchmarking methods · 94fc862f
      Patrick Labatut authored
      Summary: Rename mesh I/O benchmarking methods: always (re-)create file-like object and directly return a lambda
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20390723
      
      fbshipit-source-id: b45236360869cccdf3d5458a0aafb3ebe269babe
      94fc862f
    • Patrick Labatut's avatar
      Rename mesh I/O benchmarks and associated methods · 797e468e
      Patrick Labatut authored
      Summary:
      Rename mesh I/O benchmarks and associated methods:
      - add `simple` qualifier (benchmark on more realistic mesh data to be added later)
      - align naming between OBJ and PLY
      - prefix with `bm_` to make the benchmarking purpose clear(er)
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20390764
      
      fbshipit-source-id: 7714520abfcfe1125067f3c52f7ce19bca359574
      797e468e
    • Patrick Labatut's avatar
      Remove shebang line when not strictly required · 3c71ab64
      Patrick Labatut authored
      Summary: The shebang line `#!<path to interpreter>` is only required for Python scripts, so remove it on source files for class or function definitions. Additionally explicitly mark as executable the actual Python scripts in the codebase.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20095778
      
      fbshipit-source-id: d312599fba485e978a243292f88a180d71e1b55a
      3c71ab64
    • Nikhila Ravi's avatar
      Fix coordinate system conventions in point cloud renderer · d01e7228
      Nikhila Ravi authored
      Summary:
      Applying the changes added for mesh rasterization to ensure that +Y is up and +X is left so that the coordinate system is right handed.
      
      Also updated the diagram in the docs to indicate that (0,0) is in the top left hand corner.
      
      Reviewed By: gkioxari
      
      Differential Revision: D20394849
      
      fbshipit-source-id: cfb7c79090eb1f55ad38b92327a74a70a8dc541e
      d01e7228
    • Nikhila Ravi's avatar
      Update point cloud rasterizer to support heterogeneous point clouds · 32ad869d
      Nikhila Ravi authored
      Summary:
      Update the point cloud rasterizer to:
      - use the pointcloud datastructure (rebased on top of D19791851.)
      - support rasterization of heterogeneous point clouds in the same way as with Meshes.
      
      The main changes to the API will be as follows:
      - The input to `rasterize_points` will be a `Pointclouds` object instead of a tensor. This will be easy to update e.g.
      ```
      points = torch.randn(N, P, 3)
      idx2, zbuf2, dists2 = rasterize_points(points, image_size, radius, points_per_pixel)
      
      points = torch.randn(N, P, 3)
      pointclouds = Pointclouds(points=points)
      idx2, zbuf2, dists2 = rasterize_points(pointclouds, image_size, radius, points_per_pixel)
      ```
      
      - The indices output from rasterization will now refer to points in `poinclouds.points_packed()`.
      This may require some changes to the functions which consume the outputs of rasterization if they were previously
      assuming that the indices ranged from 0 to P where P is the number of points in each pointcloud.
      
      Making this change now so that Olivia can update her PR accordingly.
      
      Reviewed By: gkioxari
      
      Differential Revision: D20088651
      
      fbshipit-source-id: 833ed659909712bcbbb6a50e2ec0189839f0413a
      32ad869d
  12. 11 Mar, 2020 2 commits
    • Roman Shapovalov's avatar
      Old-style string formatting fails when passed a tuple. · cae32571
      Roman Shapovalov authored
      Summary: When the error occurs, another exception is thrown when tensor shape is passed to the % formatting. I have found all entries for `msg %` and fixed potential failures
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20386511
      
      fbshipit-source-id: c05413eb4867cab1ddc9615dffbd0ebd3adfcaf9
      cae32571
    • Jeremy Reizenstein's avatar
      getitem for textures · fb97ab10
      Jeremy Reizenstein authored
      Summary: Make Meshes.__getitem__ carry texture information to the new mesh.
      
      Reviewed By: gkioxari
      
      Differential Revision: D20283976
      
      fbshipit-source-id: d9ee0580c11ac5b4384df9d8158a07e6eb8d00fe
      fb97ab10
  13. 09 Mar, 2020 1 commit
  14. 08 Mar, 2020 1 commit
    • Georgia Gkioxari's avatar
      Add more DR citations · 112d32ea
      Georgia Gkioxari authored
      Summary: Add more DR citations
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20330205
      
      fbshipit-source-id: 4fb95d422371ae9ff5cdc2693736e36799201477
      112d32ea
  15. 07 Mar, 2020 1 commit
    • Jeremy Reizenstein's avatar
      version 0.1.1 · cf8e667b
      Jeremy Reizenstein authored
      Summary: Bumping the version number to 0.1.1 and thereby documenting all the places where the version number currently appears in the code.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20067382
      
      fbshipit-source-id: 76a25ed1d4036f51357e4ae3e0f07de32ad114ae
      cf8e667b
  16. 06 Mar, 2020 1 commit
    • Nikhila Ravi's avatar
      Fix coordinate system conventions in renderer · 15c72be4
      Nikhila Ravi authored
      Summary:
      ## Updates
      
      - Defined the world and camera coordinates according to this figure. The world coordinates are defined as having +Y up, +X left and +Z in.
      
      {F230888499}
      
      - Removed all flipping from blending functions.
      - Updated the rasterizer to return images with +Y up and +X left.
      - Updated all the mesh rasterizer tests
          - The expected values are now defined in terms of the default +Y up, +X left
          - Added tests where the triangles in the meshes are non symmetrical so that it is clear which direction +X and +Y are
      
      ## Questions:
      - Should we have **scene settings** instead of raster settings?
          - To be more correct we should be [z clipping in the rasterizer based on the far/near clipping planes](https://github.com/ShichenLiu/SoftRas/blob/master/soft_renderer/cuda/soft_rasterize_cuda_kernel.cu#L400) - these values are also required in the blending functions so should we make these scene level parameters and have a scene settings tuple which is available to the rasterizer and shader?
      
      Reviewed By: gkioxari
      
      Differential Revision: D20208604
      
      fbshipit-source-id: 55787301b1bffa0afa9618f0a0886cc681da51f3
      15c72be4
  17. 04 Mar, 2020 1 commit
    • Georgia Gkioxari's avatar
      pointcloud structure · 767d68a3
      Georgia Gkioxari authored
      Summary:
      Revisions to Poincloud data structure with added normals
      
      The biggest changes form the previous version include:
      a) If the user provides tensor inputs, we make no assumption about padding. Padding is only for internal use for us to convert from list to padded
      b) If features are not provided or if the poincloud is empty, all forms of features are None. This is so that we don't waste memory on holding dummy tensors.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D19791851
      
      fbshipit-source-id: 7e182f7bb14395cb966531653f6dd6b328fd999c
      767d68a3
  18. 01 Mar, 2020 1 commit
    • Nikhila Ravi's avatar
      Blending fixes and test updates · ba11c0b5
      Nikhila Ravi authored
      Summary:
      Changed `torch.cumprod` to `torch.prod` in blending functions and added more tests and benchmark tests.
      
      This should fix the issue raised on GitHub.
      
      Reviewed By: gkioxari
      
      Differential Revision: D20163073
      
      fbshipit-source-id: 4569fd37be11aa4435a3ce8736b55622c00ec718
      ba11c0b5
  19. 29 Feb, 2020 1 commit
    • Nikhila Ravi's avatar
      Barycentric clipping in the renderer and flat shading · ff19c642
      Nikhila Ravi authored
      Summary:
      Updates to the Renderer to enable barycentric clipping. This is important when there is blurring in the rasterization step.
      
      Also added support for flat shading.
      
      Reviewed By: jcjohnson
      
      Differential Revision: D19934259
      
      fbshipit-source-id: 036e48636cd80d28a04405d7a29fcc71a2982904
      ff19c642
  20. 25 Feb, 2020 1 commit
  21. 24 Feb, 2020 4 commits