1. 22 Jul, 2022 2 commits
    • Krzysztof Chalupka's avatar
      Add MeshRasterizerOpenGL · cb495504
      Krzysztof Chalupka authored
      Summary:
      Adding MeshRasterizerOpenGL, a faster alternative to MeshRasterizer. The new rasterizer follows the ideas from "Differentiable Surface Rendering via non-Differentiable Sampling".
      
      The new rasterizer 20x faster on a 2M face mesh (try pose optimization on Nefertiti from https://www.cs.cmu.edu/~kmcrane/Projects/ModelRepository/!). The larger the mesh, the larger the speedup.
      
      There are two main disadvantages:
      * The new rasterizer works with an OpenGL backend, so requires pycuda.gl and pyopengl installed (though we avoided writing any C++ code, everything is in Python!)
      * The new rasterizer is non-differentiable. However, you can still differentiate the rendering function if you use if with the new SplatterPhongShader which we recently added to PyTorch3D (see the original paper cited above).
      
      Reviewed By: patricklabatut, jcjohnson
      
      Differential Revision: D37698816
      
      fbshipit-source-id: 54d120639d3cb001f096237807e54aced0acda25
      cb495504
    • Krzysztof Chalupka's avatar
      Add EGLContext and DeviceContextManager · 78bb6d17
      Krzysztof Chalupka authored
      Summary:
      EGLContext is a utility to render with OpenGL without an attached display (that is, without a monitor).
      
      DeviceContextManager allows us to avoid unnecessary context creations and releases. See docstrings for more info.
      
      Reviewed By: jcjohnson
      
      Differential Revision: D36562551
      
      fbshipit-source-id: eb0d2a2f85555ee110e203d435a44ad243281d2c
      78bb6d17
  2. 25 May, 2022 1 commit
    • Jeremy Reizenstein's avatar
      move targets · 34f648ed
      Jeremy Reizenstein authored
      Summary: Move testing targets from pytorch3d/tests/TARGETS to pytorch3d/TARGETS.
      
      Reviewed By: shapovalov
      
      Differential Revision: D36186940
      
      fbshipit-source-id: a4c52c4d99351f885e2b0bf870532d530324039b
      34f648ed
  3. 04 Apr, 2022 1 commit
    • Jeremy Reizenstein's avatar
      logging · 199309fc
      Jeremy Reizenstein authored
      Summary: Use logging instead of printing in the internals of implicitron.
      
      Reviewed By: davnov134
      
      Differential Revision: D35247581
      
      fbshipit-source-id: be5ddad5efe1409adbae0575d35ade6112b3be63
      199309fc
  4. 29 Mar, 2022 1 commit
    • Jeremy Reizenstein's avatar
      test_build for implicitron · e332f9ff
      Jeremy Reizenstein authored
      Summary: To ensure that tests outside implicitron/ don't use implicitron, split the test for recursive includes in to two. License header checking is not needed here any more.
      
      Reviewed By: shapovalov
      
      Differential Revision: D35077830
      
      fbshipit-source-id: 2ebe7436a6dcc5d21a116434f6ddd08705dfab34
      e332f9ff