Version 0.6.2
This release brings new targets and many improvements.
Builds for PyTorch 1.10.1, 1.10.2, 1.11.0, but no longer 1.6.0. Builds for Python 3.10 but no longer 3.6.
New Features
- MultinomialRaysampler and NDCMultinomialRaysampler replace GridRaysampler and NDCGridRaysampler commit which can sample using the new n_rays input and also bring stratified sampling along rays and direction normalization (also commit
 - Function join_cameras_as_batch commit
 - Function join_pointclouds_as_batch commit
 - Camera batches can be indexed commit and commit
 - Meshes.submesh function to take a set of faces from a mesh. commit and commit
 - L1 support for KNN and chamfer commit
 
Bug fixes
- Rasterizer.to broken without cameras commit
 - Joining batches of meshes with TexturesAtlas and TexturesUV broke first input meshes’ texture commit
 - Transform3D.stack was entirely broken. commit which also added typing.
 - The function cameras_from_opencv_projection always created on CPU #1021 commit
 - Batching didn’t work for AmbientLights #1043 commit
 - Pointclouds.subsample failed on windows #1015 commit
 - Fit_textured_meshes tutorial now turns off perspective_correct in the final optimization, to avoid nans. commit
 
Improvements
- Points_normals much faster through use of symeig workaround commit
 - A warning is now printed to console on rasterizer bin overflow commit
 
Small improvements
- MeshRendererWithFragments and matrix_to_axis_angle made more importable
 - FacePointDistance, FacePointDistance and point_mesh_face_distance get min_triangle_area argument commit - default also changed in commit
 - Fix for small faces in IoU3D commit
 - Lower the epsilon value in the IoU3D commit
 - Flexible background color for point compositing commit and commit
 - In points_to_volumes, the rescaling of features is now optional. commit
 - LinearWithRepeat layer clarified and moved inside PyTorch3D from the NeRF project commit
 - HarmonicEmbedding moved inside pytorch3d from projects/nerf. commit and commit
 - Invalid default values in Meshes.init removed commit
 - Support obj files missing usemtl declarations commit
 - CamerasBase.unproject_points typing commit
 - Fix for Pointclouds.init in certain cases with None in a list commit
 - Consistency validation for sampling_mode in joining TexturesUV commit
 - Doc fix for camera space fix from v0.6.1 commit
 - Doc fix for renderer pictures commit
 - New ndc_grid_sample to handle grid-sampling using our NDC conventions commit
 - Fix scatter_ error in cubify on CPU commit
 - In Transform3D, fix some dtype inconsistencies commit
 - Fixes to make windows builds happier commit
 
Internal
- Rename pytorch3d.common.types to pytorch3d.common.datatypes commit
 - Cleanup in ply_io commit
 - A major new feature, a framework for new-view synthesis via modeling neural-network based representations, called implicitron, is work in progress.
 - We now use usort not isort for sorting imports.
 - Future proofing calls to torch.meshgrid commit and symeig commit also commit. Also future proofing tests for a change to autograd behaviour that inplace operations don’t need to return the same object commit
 - Future proofing for the loss of TH headers in pytorch (needed for PyTorch 1.11) commit and commit
 - Base class for shaders introduced commit