We are happy to bring you the best Open3D yet! This is a "tick" release focused on resolving existing issues and eliminating bugs. We resolved over 150 issues for Open3D and Open3D-ML since the last release.
Here are the main highlights of this release:
Open3D now has support for differentiable rendering with Mitsuba.
See examples/python/visualization/to_mitsuba.py for more details.
Visualization and GUI (other updates)
[New] The Open3D viewer app is now available for Windows. This version is unsigned, so expect Windows warnings.
[New] Add draw_web CLI for remote visualization. Try it out with
(remotehost) $ open3d draw_web --bind_all /path/to/3D/file and then open the browser to http://remotehost:8888
[New] Unprojection function in the ViewControl (contributed by @PieroV).
[New] Added interaction methods for Python ImageWidget (contributed by @MartinEekGerhardsen).
[Update] Updated customized_visualization tutorial (contributed by @ClarytyLLC).
[Update] Convert material properties when converting from legacy to tensor TriangleMesh.
[Fix] O3DVisualizer::RemoveGeometry() function vector subscript out of range (contributed by @UnadXiao).
[Fix] Fast check for 3D tensorboard data. Open3D does not delay Tensorboard startup for large run folders now.
[Fix] Fix scrolling direction bug for TextEdit (contributed by @cansik).
[Fix] VisualizerWithVertexSelection: Call selection_changed callback, when deselecting all points (Ctrl + R) (contributed by @micsc12).
Geometry
[New] robust plane detection (contributed by @plusk01).
| | |
| ------- | ---------- |
[New] Minimal bounding box computation for point clouds (contributed by @ligerlac).
[New] Added RemoveStatisticalOutliers to tensor PointCloud. (contributed by @yuecideng).
[New] Added ComputeTriangleNormals ComputeVertexNormals NormalizeNormals to tensor Trianglemesh. (contributed by @yuecideng).
[New] Added normals oriented functions to tensor PointCloud. (contributed by @yuecideng).
[New] Added tensor based OrientedboundingBox. (contributed by @yuecideng).
[New] Added tutorial for tensor based PointCloud.
[New] Enable python copy & deepcopy for tensor geometry. (contributed by @yuecideng).
[New] Added partitioning of point clouds and triangle meshes using PCA.
[Fix] Consistent face orientation for generated alpha shape.
Pipelines
[New] Tensor reconstruction system upgrade: make fragments (contributed by @theNded).
[Update] Added additional python bindings for RGBD odometry functionality (contributed by @jdavidberger).
[Update] release python GIL for generalized icp (contributed by @yuecideng).
[Fix] fix call to AdvancedMatching in FGR (contributed by @plusk01).
[Fix] Update ICP fitness and rmse value at the end of the loop (contributed by @bialasjaroslaw).
I/O
[Update] Add loading colors and uvs in tgeometry TriangleMesh IO.
Core
[New] Support for arbitrary imports with Open3D submodules in Python. Now you can use any of the following and more:
from open3d.t.geometry import TriangleMesh
from open3d.ml.torch.ops import fixed_radius_search # pybind symbol
from open3d.ml.tf.models import KPFCNN # Python code
from open3d.visualization import gui # pybind symbol
from open3d.visualization import draw # Python code
from open3d.visualization.gui import Color
from open3d.visualization.rendering import Camera
No need for awkward shortcuts such as:
import open3d as o3d
Tensor = o3d.core.Tensor
Image = o3d.t.geometry.Image
[New] unary minus operator (contributed by @yxlao).
[Update] Replace license text with SPDX identifier.
[Fix] Fixed error when use CUDA_CALL without open3d namespace. (contributed by @yuecideng).
[Fix] Fixed multi-device CUDA switching bug. (contributed by @yxlao).
[Fix] MiniVec's constructor shall not call Device's constructor/destructor (contributed by @yxlao).
[Fix] Add neighbor search module to the documentation.
Build System
[New] The Open3D viewer app is now available for Windows.
[New] New lighter wheel (~100MB) for x86_64 Linux, which is suitable for systems without CUDA. Try it out with:
pip install open3d-cpu.
[Update] Update imgui to latest version (contributed by @roehling).
[Update] Support CUDA 12.0 build. (contributed by @NobuoTsukamoto).
[Update] Add options to use system libraries for new dependencies (contributed by @roehling).
[Update] Hide un-needed DSO symbols in Linux and macOS.