Skip to content

Version 0.6.0

Compare
Choose a tag to compare
@bottler bottler released this 06 Oct 13:00
· 591 commits to main since this release

This release contains several new optimized operations related to point clouds.

New features

  • Farthest point sampling here, here and here
  • Ball query operation. commit
  • Sample_pdf importance sampling operation, implemented with a CUDA kernel. Previously in Python in the NeRF project. here and here
  • Fast accurate calculation of Intersection over union for 3D boxes. See note. here, here and here
  • Subsample method for Pointclouds commit
  • Adding point clouds to volumes is now implemented in C++/CUDA, which means it can always operate inplace here, here and here

Breaking changes

  • This commit removes _xy_grid from the saved state of the GridRaySampler module, if the PyTorch version is 1.6.0 or higher. This means that you will get errors if you try to load a model saved with such a module by an older version of PyTorch3D (unless strict==False). Similarly the NeRF project’s HarmonicEmbedding no longer stores _frequencies.
  • PyTorch 1.5.0 or above is now required.

Bug fixes

  • Fix duplicate arguments errors when cameras are specified in certain places commit
  • Fix to join_scene for meshes using TexturesUV, which picked the wrong verts_uvs in certain cases commit
  • Fix to edge cases when creating TexturesAtlas. commit
  • Points to volumes fix when the grid_sizes are not specified. commit

Small improvements

  • Making the rasterizer deterministic if there are ties between faces commit
  • The function so3_log_map is now torchscriptable commit
  • The GridRaySampler change means it can be reused at different image sizes. commit
  • More documentation in the renderer, with RasterizationSettings and PointRasterizationSettings being dataclasses commit and here
  • Ability to save colors as 8bit (i.e. uint8) when writing data to PLY files commit

Internal

  • Coarse rasterization code has been reorganized here, here and here