1. 25 Aug, 2020 1 commit
    • Jeremy Reizenstein's avatar
      tutorial fixes from #336. Wheels with cuda10.1. · 32484500
      Jeremy Reizenstein authored
      Summary:
      Add a document to explain how to run the tutorials.
      Fix API of TexturesVertex in fit_textured_mesh.
      Prepare cuda 10.1 wheels (not 10.2) for linux to be available on pypi - this matches what colab has.
      Change the tutorials to use these new wheels.
      
      Reviewed By: gkioxari
      
      Differential Revision: D23324479
      
      fbshipit-source-id: 60e92a3f46a2d878f811b7703638f8d1dae143d9
      32484500
  2. 22 Aug, 2020 2 commits
    • Nikhila Ravi's avatar
      Tutorials textures updates and fix bug in extending meshes with uv textures · 90f6a005
      Nikhila Ravi authored
      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
      90f6a005
    • Nikhila Ravi's avatar
      Website and docs updates · d3307658
      Nikhila Ravi authored
      Summary:
      - Added sbranson's fit mesh tutorial to the website
      - Updated rendering docs with info about texturing and new shader types.
      
      TODO:
      - add pointcloud rendering tutorial to the website as well (https://github.com/facebookresearch/pytorch3d/blob/master/docs/tutorials/render_colored_points.ipynb)
      - docs for camera
      - update some tutorials which depended on the Textures from structures.
      
      Reviewed By: gkioxari
      
      Differential Revision: D23143977
      
      fbshipit-source-id: 6843c9bf3ce11115c459c64da5b0ad778dc92177
      d3307658
  3. 21 Aug, 2020 3 commits
    • Georgia Gkioxari's avatar
      camera refactoring · 57a22e73
      Georgia Gkioxari authored
      Summary:
      Refactor cameras
      * CamerasBase was enhanced with `transform_points_screen` that transforms projected points from NDC to screen space
      * OpenGLPerspective, OpenGLOrthographic -> FoVPerspective, FoVOrthographic
      * SfMPerspective, SfMOrthographic -> Perspective, Orthographic
      * PerspectiveCamera can optionally be constructred with screen space parameters
      * Note on Cameras and coordinate systems was added
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D23168525
      
      fbshipit-source-id: dd138e2b2cc7e0e0d9f34c45b8251c01266a2063
      57a22e73
    • mlygao@devgpu002.atn3.facebook.com's avatar
      ShapeNetCore & R2N2 tutorial · 9242e7e6
      mlygao@devgpu002.atn3.facebook.com authored
      Summary: Tutorial for ShapeNetCore & R2N2.
      
      Reviewed By: gkioxari
      
      Differential Revision: D22916882
      
      fbshipit-source-id: 752742be87f44919164ec7eafcc9c09c17a0f8a3
      9242e7e6
    • Anton Troynikov's avatar
      Fix 404 link in Renderer Doc (#330) · 370f1c38
      Anton Troynikov authored
      Summary:
      Because of the way Sphinx was parsing this link in Markdown, the link wasn't working properly. This should fix it.
      
      Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/330
      
      Test Plan: Tested via local Sphinx.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D23244163
      
      Pulled By: atroyn
      
      fbshipit-source-id: 019712a841d76391a5210dcd98c77a822947204a
      370f1c38
  4. 14 Aug, 2020 1 commit
  5. 29 Jul, 2020 2 commits
    • Nikhila Ravi's avatar
      Texturing API updates · a3932960
      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
      a3932960
    • Georgia Gkioxari's avatar
      remove composite params from tutorials · 42b5b965
      Georgia Gkioxari authored
      Summary: Remove composite params from tutorial
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D22809242
      
      fbshipit-source-id: e5ed4e93fc892baf74e3a464119f0d11973423c3
      42b5b965
  6. 23 Jul, 2020 1 commit
    • Steve Branson's avatar
      Add tutorial for fitting textured mesh to multi-view images · 9a5341bd
      Steve Branson authored
      Summary: Tutorial showing how to create a synthetic dataset by rendering a cow from multiple views, fit a mesh using a differential silhouette renderer, then fit a mesh using an RGB renderer.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D22513859
      
      fbshipit-source-id: 24bdaac4ebec6dd01f98e2f5c702065f9335ff33
      9a5341bd
  7. 10 Jul, 2020 1 commit
    • Georgia Gkioxari's avatar
      remove unused params + cubify note · 3d7dea58
      Georgia Gkioxari authored
      Summary:
      This diff
      * removes the unused compositing params
      * adds a note describing cubify
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D22426191
      
      fbshipit-source-id: e8aa32040bb594e1dfd7d6d98e29264feefcec7c
      3d7dea58
  8. 03 Jul, 2020 2 commits
    • Jeremy Reizenstein's avatar
      CPU device for tutorials · 275ddade
      Jeremy Reizenstein authored
      Reviewed By: nikhilaravi
      
      Differential Revision: D22357376
      
      fbshipit-source-id: c103f9b0c798d4425d642781b5bfbb1a27310270
      275ddade
    • Jeremy Reizenstein's avatar
      strip output from tutorials · 52979226
      Jeremy Reizenstein authored
      Summary: It's easier to understand code changes if we don't store the output in the notebooks. This is just a run of nbstripout on all the notebooks.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D22357375
      
      fbshipit-source-id: bffdb426af2f676d448630d717658d609c224811
      52979226
  9. 29 Jun, 2020 1 commit
    • Luya Gao's avatar
      Adding datasets.rst to modules · b636f295
      Luya Gao authored
      Summary: Adding datasets.rst to modules and update index.rst.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D22187578
      
      fbshipit-source-id: e70cf49fa276db8a106c67a2edab530b6dba2dee
      b636f295
  10. 06 May, 2020 1 commit
    • Nikhila Ravi's avatar
      allow cameras to be None in rasterizer initialization · 17ca6ecd
      Nikhila Ravi authored
      Summary: Fix to enable a mesh/point rasterizer to be initialized without having to specify the camera.
      
      Reviewed By: jcjohnson, gkioxari
      
      Differential Revision: D21362359
      
      fbshipit-source-id: 4f84ea18ad9f179c7b7c2289ebf9422a2f5e26de
      17ca6ecd
  11. 26 Apr, 2020 1 commit
    • Jeremy Reizenstein's avatar
      version 0.2.0 · 686c8666
      Jeremy Reizenstein authored
      Summary: Update version number for version 0.2.0.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D21157358
      
      fbshipit-source-id: 32a5b93e5dc65a31a806a5ce7231f8603fe02e85
      686c8666
  12. 20 Apr, 2020 1 commit
    • Nikhila Ravi's avatar
      coarse rasterization bug fix · 9ef1ee84
      Nikhila Ravi authored
      Summary:
      Fix a bug which resulted in a rendering artifacts if the image size was not a multiple of 16.
      Fix: Revert coarse rasterization to original implementation and only update fine rasterization to reverse the ordering of Y and X axis. This is much simpler than the previous approach!
      
      Additional changes:
      - updated mesh rendering end-end tests to check outputs from both naive and coarse to fine rasterization.
      - added pointcloud rendering end-end tests
      
      Reviewed By: gkioxari
      
      Differential Revision: D21102725
      
      fbshipit-source-id: 2e7e1b013dd6dd12b3a00b79eb8167deddb2e89a
      9ef1ee84
  13. 08 Apr, 2020 1 commit
    • Nikhila Ravi's avatar
      remove bin_size from the settings in the tutorials · 474c8b45
      Nikhila Ravi authored
      Summary: Remove `bin_size` and `max_faces_per_pixel` from being specified. This means the coarse-to-fine rasterization will be used by default and will help avoid confusion with the naive version.
      
      Reviewed By: jcjohnson
      
      Differential Revision: D20908905
      
      fbshipit-source-id: c181c88e844d888aa81a36870918307961dc1175
      474c8b45
  14. 29 Mar, 2020 1 commit
    • Patrick Labatut's avatar
      Address black + isort fbsource linter warnings · d57daa6f
      Patrick Labatut authored
      Summary: Address black + isort fbsource linter warnings from D20558374 (previous diff)
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D20558373
      
      fbshipit-source-id: d3607de4a01fb24c0d5269634563a7914bddf1c8
      d57daa6f
  15. 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
  16. 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
  17. 17 Mar, 2020 3 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
  18. 16 Mar, 2020 1 commit
    • 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
  19. 12 Mar, 2020 2 commits
    • 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
  20. 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
  21. 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
  22. 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
  23. 24 Feb, 2020 1 commit
  24. 20 Feb, 2020 2 commits
    • Patrick Labatut's avatar
      Fix spelling of "Gouraud" · 9ca54891
      Patrick Labatut authored
      Summary: Fix spelling of *Gouraud* in [Gouraud shading](https://en.wikipedia.org/wiki/Gouraud_shading).
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D19943547
      
      fbshipit-source-id: 5c016b7b051a7b33a7b68ed5303b642d9e834bbd
      9ca54891
    • Nikhila Ravi's avatar
      Shader API more consistent naming · f0dc6511
      Nikhila Ravi authored
      Summary:
      Renamed shaders to be prefixed with Hard/Soft depending on if they use a probabalistic blending (Soft) or use the closest face (Hard).
      
      There is some code duplication but I thought it would be cleaner to have separate shaders for each task rather than:
      - inheritance (which we discussed previously that we want to avoid)
      - boolean (hard/soft) or a string (hard/soft) - new blending functions other than the ones provided would need if statements in the current shaders which might get messy.
      
      Also added a `flat_shading` function and a `FlatShader` - I could make this into a tutorial as it was really easy to add a new shader and it might be a nice showcase.
      
      NOTE: There are a few more places where the naming will need to change (e.g the tutorials) but I wanted to reach a consensus on this before changing it everywhere.
      
      Reviewed By: jcjohnson
      
      Differential Revision: D19761036
      
      fbshipit-source-id: f972f6530c7f66dc5550b0284c191abc4a7f6fc4
      f0dc6511
  25. 18 Feb, 2020 1 commit
  26. 13 Feb, 2020 1 commit
    • Jeremy Reizenstein's avatar
      Single function to load meshes from OBJs. join_meshes. · 8fe65d5f
      Jeremy Reizenstein authored
      Summary:
      Create the textures and the Meshes object from OBJ files in a single call.
      
      There is functionality in OBJ files (like normals) which is ignored by this function.
      
      Reviewed By: gkioxari
      
      Differential Revision: D19691699
      
      fbshipit-source-id: e26442ed80ff231b65b17d6c54c9d41e22b4e4a3
      8fe65d5f
  27. 11 Feb, 2020 1 commit
    • Nikhila Ravi's avatar
      Update tutorials for Google Colab · 09992a38
      Nikhila Ravi authored
      Summary:
      Update all colab notebooks to:
      - Install pytorch3d using pip install from github.
      - Retrieve data using `wget`. I set the wget commands to save the files in the same directory structure as in the PyTorch3d repo so that the rest of the tutorial would work for running locally or on Colab.
      
      This should resolve the issues on GitHub with running the colab notebooks.
      
      Reviewed By: gkioxari
      
      Differential Revision: D19827450
      
      fbshipit-source-id: d7b338597ddfd9a84c24592d4dccd274cae11d05
      09992a38
  28. 10 Feb, 2020 1 commit
  29. 08 Feb, 2020 1 commit
  30. 05 Feb, 2020 1 commit
  31. 24 Jan, 2020 1 commit