1. 17 Dec, 2020 1 commit
    • Nikhila Ravi's avatar
      Texture Atlas sampling bug fix · 01759d8f
      Nikhila Ravi authored
      Summary: Fixes the index out of bound errors for texture sampling from a texture atlas: when barycentric coordinates are 1.0, the integer index into the (R, R) per face texture map is R (max can only be R-1).
      
      Reviewed By: gkioxari
      
      Differential Revision: D25543803
      
      fbshipit-source-id: 82d0935b981352b49c1d95d5a17f9cc88bad0a82
      01759d8f
  2. 15 Dec, 2020 2 commits
  3. 14 Dec, 2020 4 commits
  4. 11 Dec, 2020 1 commit
  5. 10 Dec, 2020 1 commit
    • Jeremy Reizenstein's avatar
      CUB conda instructions · d6412c94
      Jeremy Reizenstein authored
      Summary: We have already uploaded a conda package of the cub 1.10.0 sources to our channel on anaconda. Here is the code we used.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D25395358
      
      fbshipit-source-id: b58fd473fcafd425c98c9d7a7c32574f651383a0
      d6412c94
  6. 09 Dec, 2020 1 commit
    • Nikhila Ravi's avatar
      Non square image rasterization for meshes · d07307a4
      Nikhila Ravi authored
      Summary:
      There are a couple of options for supporting non square images:
      1) NDC stays at [-1, 1] in both directions with the distance calculations all modified by (W/H). There are a lot of distance based calculations (e.g. triangle areas for barycentric coordinates etc) so this requires changes in many places.
      2) NDC is scaled by (W/H) so the smallest side has [-1, 1]. In this case none of the distance calculations need to be updated and only the pixel to NDC calculation needs to be modified.
      
      I decided to go with option 2 after trying option 1!
      
      API Changes:
      - Image size can now be specified optionally as a tuple
      
      TODO:
      - add a benchmark test for the non square case.
      
      Reviewed By: jcjohnson
      
      Differential Revision: D24404975
      
      fbshipit-source-id: 545efb67c822d748ec35999b35762bce58db2cf4
      d07307a4
  7. 03 Dec, 2020 1 commit
    • Jeremy Reizenstein's avatar
      Slow pull from docker · 0216e468
      Jeremy Reizenstein authored
      Summary: The "manual" docker pull in the testrun builds has been taking more than 10 minutes recently, and its lack of output causes circleci to timeout. As a quick fix, we enable the output from this operation.
      
      Reviewed By: gkioxari
      
      Differential Revision: D25305127
      
      fbshipit-source-id: 19682bfa0294145457a37df6d6faf7a08dcc63c9
      0216e468
  8. 01 Dec, 2020 1 commit
  9. 30 Nov, 2020 1 commit
    • Georgia Gkioxari's avatar
      taubin smoothing · 112959e0
      Georgia Gkioxari authored
      Summary: Taubin Smoothing for filtering meshes and making them smoother. Taubin smoothing is an iterative approach.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D24751149
      
      fbshipit-source-id: fb779e955f1a1f6750e704f1b4c6dfa37aebac1a
      112959e0
  10. 19 Nov, 2020 1 commit
    • Amitav Baruah's avatar
      Fix plotly pointcloud visualization feature bug · fc7a4cac
      Amitav Baruah authored
      Summary: If a pointcloud had less than pointcloud_max_points, the colors would not render. This diff fixes that.
      
      Reviewed By: bottler
      
      Differential Revision: D25099044
      
      fbshipit-source-id: 47c3ddcdb4e06284b0a7966ffca1b973f394921f
      fc7a4cac
  11. 18 Nov, 2020 2 commits
    • Amitav Baruah's avatar
      Update subplot arrangement to support non-uniform grids · 6c2fc685
      Amitav Baruah authored
      Summary: Previously, grids where the columns don't divide the number of plots evenly would error. Now, there'll just be a sparse last row.
      
      Reviewed By: bottler
      
      Differential Revision: D25069236
      
      fbshipit-source-id: 9d2fd62f3d39bfebc07ce0a41718621fa69d6057
      6c2fc685
    • Georgia Gkioxari's avatar
      move icp_data.pth to tests/data · 5fb63b45
      Georgia Gkioxari authored
      Summary: Move icp_data.pth to tests/data
      
      Reviewed By: bottler
      
      Differential Revision: D25012575
      
      fbshipit-source-id: 9252d2eeca9141c82ad3bf9d3e3331a2eab5203b
      5fb63b45
  12. 12 Nov, 2020 1 commit
  13. 11 Nov, 2020 5 commits
    • Christoph Lassner's avatar
      Fix #442. · faed5405
      Christoph Lassner authored
      Summary: This fixed #442 by declaring two math functions to be device-only.
      
      Reviewed By: bottler
      
      Differential Revision: D24896992
      
      fbshipit-source-id: a15918d06d2a3e6ee5cf250fec7af5f2f50a6164
      faed5405
    • Jeremy Reizenstein's avatar
      version number for 0.3.0 · 18ce14cd
      Jeremy Reizenstein authored
      Reviewed By: nikhilaravi
      
      Differential Revision: D24390049
      
      fbshipit-source-id: d86ba8dd933bce18e65ae71b3ea42426838b8fc2
      18ce14cd
    • Nikhila Ravi's avatar
      website and README updates · 5059be2a
      Nikhila Ravi authored
      Summary: Small updates to the website setup before the website is updated
      
      Reviewed By: bottler
      
      Differential Revision: D24880351
      
      fbshipit-source-id: 5c40664ad1ca3dd9f4fc746b239a82d47ed3a8e6
      5059be2a
    • John Reese's avatar
      apply pyfmt with usort to opted-in sources · 90f1d5c2
      John Reese authored
      Reviewed By: zertosh
      
      Differential Revision: D24880203
      
      fbshipit-source-id: 2034cdfc2712209e86d3d05c119c58f979b05c52
      90f1d5c2
    • Jeremy Reizenstein's avatar
      curl needs -L · 4296fd96
      Jeremy Reizenstein authored
      Summary: As mentioned in a comment on https://github.com/facebookresearch/pytorch3d/issues/438, curl must be told to follow redirects.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D24870138
      
      fbshipit-source-id: 0c8aeb5146f8699bcea03d4108276fc24e9eab6b
      4296fd96
  14. 10 Nov, 2020 8 commits
    • Jeremy Reizenstein's avatar
      Remove installation instructions from tutorial website. · 47fafe2c
      Jeremy Reizenstein authored
      Summary: Now installation is a bit complicated, remove this instruction from the website and redirect to the notebooks themselves.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D24860588
      
      fbshipit-source-id: 3bf1af3cdb69b564492fb01a5a5ba40203f3858e
      47fafe2c
    • Jeremy Reizenstein's avatar
      CUB when installing inside tutorials · de7af4a7
      Jeremy Reizenstein authored
      Summary:
      We now require CUB for building, here we make the tutorials include it.
      
      Also make the installation cell do nothing if it has already succeeded.
      
      I use curl not wget, and `os.environ` to set the variables not shell methods, because they are more likely to work on Windows.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D24860574
      
      fbshipit-source-id: 5be86af15e53f8db016ee0e96fb43153bd69adbc
      de7af4a7
    • Christoph Lassner's avatar
      Fix flaky CircleCI test. · fb2763dc
      Christoph Lassner authored
      Summary: This fixes issues with `pulsar.test.TestDepth` that we are encountering on CircleCI. The ID equality test is removed, which seems to give different results on different hardware (which is okay, because the exact order of spheres can slightly vary if they're close due to numerical instabilities). The depth map validity test stays in place.
      
      Reviewed By: bottler
      
      Differential Revision: D24840776
      
      fbshipit-source-id: 2f38ea4880abf202c84d2987fdd71a84c5ef3b05
      fb2763dc
    • Jeremy Reizenstein's avatar
      CUB installation instructions · aefe2b9f
      Jeremy Reizenstein authored
      Summary: Make it easy to have CUB available for building
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D24773722
      
      fbshipit-source-id: 8759bef6ded4989088189685b2a615c97e5f8b99
      aefe2b9f
    • Jeremy Reizenstein's avatar
      pulsar build and CI changes · d220ee2f
      Jeremy Reizenstein authored
      Summary:
      Changes to CI and some minor fixes now that pulsar is part of pytorch3d. Most significantly, add CUB to CI builds.
      
      Make CUB_HOME override the CUB already in cudatoolkit (important for cuda11.0 which uses cub 1.9.9 which pulsar doesn't work well with.
      Make imageio available for testing.
      Lint fixes.
      Fix some test verbosity.
      Avoid use of atomicAdd_block on older GPUs.
      
      Reviewed By: nikhilaravi, classner
      
      Differential Revision: D24773716
      
      fbshipit-source-id: 2428356bb2e62735f2bc0c15cbe4cff35b1b24b8
      d220ee2f
    • Dave Schnizlein's avatar
      Remove point mesh edge kernels · 804235b0
      Dave Schnizlein authored
      Summary:
      Removes the now-unnecessary kernels from point mesh edge file
      
      Migrates all point mesh functionality into one file.
      
      Reviewed By: gkioxari
      
      Differential Revision: D24550086
      
      fbshipit-source-id: f924996cd38a7c2c1cf189d8a01611de4506cfa3
      804235b0
    • Dave Schnizlein's avatar
      Consolidate mesh backward kernels · 8dcfe30f
      Dave Schnizlein authored
      Summary: This diff creates the generic MeshBackwardKernel which can handle distance calculations between point, edge and faces in either direction. Replaces only point_mesh_face code for now.
      
      Reviewed By: gkioxari
      
      Differential Revision: D24549374
      
      fbshipit-source-id: 2853c1da1c2a6b6de8d0e40007ba0735b8959044
      8dcfe30f
    • Dave Schnizlein's avatar
      Consolidate point mesh forward kernels · c41aff23
      Dave Schnizlein authored
      Summary: This diff creates the generic MeshForwardKernel which can handle distance calculations between point, edge and faces in either direction. Replaces only point_mesh_face code for now.
      
      Reviewed By: gkioxari
      
      Differential Revision: D24543316
      
      fbshipit-source-id: 302707d7cec2d77a899738adf40481035c240da8
      c41aff23
  15. 09 Nov, 2020 1 commit
    • Christoph Lassner's avatar
      Fix #431. · 194b29fb
      Christoph Lassner authored
      Summary: Added missing include for cstdint for Windows and removed problematic inline assembly.
      
      Reviewed By: bottler
      
      Differential Revision: D24838053
      
      fbshipit-source-id: 95496be841c2c22a82068073d4740e98ee8a02ac
      194b29fb
  16. 05 Nov, 2020 1 commit
    • Dave Schnizlein's avatar
      Add MeshRendererWithFragments class to also return fragments after rendering · 83fef0a5
      Dave Schnizlein authored
      Summary: Users want to be able to obtain the depth from the renderer. Current work-around requires running the rasterizer and extra time. This change creates a new renderer class that also returns the fragments from the rasterizer.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D24432381
      
      fbshipit-source-id: 6552e8a6bfee646791afb34bdb7452fbc4094aed
      83fef0a5
  17. 04 Nov, 2020 2 commits
    • Christoph Lassner's avatar
      Example and test updates. · b6be3b95
      Christoph Lassner authored
      Summary: This commit performs pulsar example and test refinements. The examples are fully adjusted to adhere to PEP style guide and additional comments are added.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D24723391
      
      fbshipit-source-id: 6d289006f080140159731e7f3a8c98b582164f1a
      b6be3b95
    • Jeremy Reizenstein's avatar
      Restrict import of ops from Pointclouds · e9a26f26
      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
      e9a26f26
  18. 03 Nov, 2020 3 commits
    • Christoph Lassner's avatar
      examples and docs. · 039e0260
      Christoph Lassner authored
      Summary: This diff updates the documentation and tutorials with information about the new pulsar backend. For more information about the pulsar backend, see the release notes and the paper (https://arxiv.org/abs/2004.07484). For information on how to use the backend, see the point cloud rendering notebook and the examples in the folder docs/examples.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D24498129
      
      fbshipit-source-id: e312b0169a72b13590df6e4db36bfe6190d742f9
      039e0260
    • Christoph Lassner's avatar
      pulsar interface unification. · 960fd6d8
      Christoph Lassner authored
      Summary:
      This diff builds on top of the `pulsar integration` diff to provide a unified interface for the existing PyTorch3D point renderer and Pulsar. For more information about the pulsar backend, see the release notes and the paper (https://arxiv.org/abs/2004.07484). For information on how to use the backend, see the point cloud rendering notebook and the examples in the folder docs/examples.
      
      The unified interfaces are completely consistent. Switching the render backend is as easy as using `renderer = PulsarPointsRenderer(rasterizer=rasterizer).to(device)` instead of `renderer = PointsRenderer(rasterizer=rasterizer, compositor=compositor)` and adding the `gamma` parameter to the forward function. All PyTorch3D camera types are supported as far as possible; keyword arguments are properly forwarded to the camera. The `PerspectiveCamera` and `OrthographicCamera` require znear and zfar as additional parameters for the forward pass.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D21421443
      
      fbshipit-source-id: 4aa0a83a419592d9a0bb5d62486a1cdea9d73ce6
      960fd6d8
    • Christoph Lassner's avatar
      pulsar integration. · b19fe1de
      Christoph Lassner authored
      Summary:
      This diff integrates the pulsar renderer source code into PyTorch3D as an alternative backend for the PyTorch3D point renderer. This diff is the first of a series of three diffs to complete that migration and focuses on the packaging and integration of the source code.
      
      For more information about the pulsar backend, see the release notes and the paper (https://arxiv.org/abs/2004.07484). For information on how to use the backend, see the point cloud rendering notebook and the examples in the folder `docs/examples`.
      
      Tasks addressed in the following diffs:
      * Add the PyTorch3D interface,
      * Add notebook examples and documentation (or adapt the existing ones to feature both interfaces).
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D23947736
      
      fbshipit-source-id: a5e77b53e6750334db22aefa89b4c079cda1b443
      b19fe1de
  19. 02 Nov, 2020 1 commit
    • Jeremy Reizenstein's avatar
      Docker authentication · d5650323
      Jeremy Reizenstein authored
      Summary: To avoid docker's new ratelimiting, we sign in.
      
      Reviewed By: theschnitz
      
      Differential Revision: D24681688
      
      fbshipit-source-id: 6bb1a86ee15a151758e8a2bdb081da280308ad0c
      d5650323
  20. 30 Oct, 2020 2 commits
    • Nikhila Ravi's avatar
      Update README with contributors and new tutorials · 3b035f57
      Nikhila Ravi authored
      Summary:
      Updated the README with:
      - Contributor list
      - News updates
      - New tutorial links
      
      Reviewed By: gkioxari
      
      Differential Revision: D24412028
      
      fbshipit-source-id: 0c4ba9ebe16a7a4728801356a9271ff152282686
      3b035f57
    • Dave Schnizlein's avatar
      Update cameras to accept projection matrix as input · 36fb257e
      Dave Schnizlein authored
      Summary: To initialize the Cameras class currently we require the principal point, focal length and other parameters to be specified from which we calculate the intrinsic matrix. In some cases the matrix might be directly available e.g. from a dataset and the associated metadata for an image.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D24489509
      
      fbshipit-source-id: 1b411f19c5f6c8074bcfbf613f3339d5e242c119
      36fb257e