Open3D v0.20 brings Gaussian Splatting to the Open3D renderer, makes Intel GPU workflows substantially more practical through expanded SYCL Tensor pipelines, and improves the developer experience with smaller installs, Python type checking, and new distribution options.
Highlights
Gaussian Splatting
GaussianSplatting.draw_from_csv.2026-04-28.at.2.56.52.PM.mp4
Gaussian splats and meshes in one Open3D scene.
python examples/python/visualization/draw_from_csv.pyOpen3D can now render 3D Gaussian Splats in interactive and offscreen views, along with regular PBR meshes. Load tensor point clouds from Gaussian PLY, binary SPLAT, or compressed SPZ files, then compose them with triangle meshes using correct depth occlusion. This enables applications to combine radiance-field captures with conventional 3D assets in the same Open3D scene (PRs #7191, #7194, #7490, #7520, and #7525; contributed by @lumurillo, @billamiable, @ssheorey, and @jeevan6996).
The renderer supports anti-aliasing, depth output and offscreen rendering (see OffscreenRenderer). See the Gaussian Splatting tutorial, the mixed-scene Python example, and the C++ example.
Labeling geometry over a compressed SPZ Gaussian Splat.
Intel GPU Pipelines Through SYCL
rgbd_dense_slam_b580.mp4
Real time RGBD reconstruction with dense SLAM on an Intel B580 GPU
pip install open3d-xpu
cd examples/python/t_reconstruction_system
python dense_slam.py --device SYCL:0 --default_dataset lounge --path_npz lounge_sycl.npzThe SYCL backend now supports substantially more Tensor-based Open3D pipelines on Intel integrated and discrete GPUs. New native-device implementations cover HashMap, nearest-neighbor search, geometry transforms, registration, RGB-D odometry, feature computation, TSDF reconstruction, and raycasting. Hybrid nearest-neighbor search now supports L1 and Linf metrics in addition to L2 (PRs #7114 and #7443; contributed by @ssheorey).
The newly implemented Intel GPU algorithms include:
- Core and geometry: device HashMap; KNN, fixed-radius, and hybrid nearest-neighbor search; Tensor geometry and normal transforms; TriangleMesh normal and area computation; and partial Tensor PointCloud unprojection, normal, and NNS-based operations.
- Registration and odometry: point-to-point, point-to-plane, colored, Doppler, and symmetric ICP; registration evaluation and information matrices; FPFH features and correspondence matching; and point-to-plane, intensity, and hybrid RGB-D odometry.
- Reconstruction and raycasting: VoxelBlockGrid TSDF touch, integration, ray casting, point-cloud extraction, and marching-cubes mesh extraction, together with hardware-accelerated
RaycastingScenequeries.
Open3D-ML operations are also available through the PyTorch XPU library, including continuous and sparse convolutions, voxelization and pooling, neighbor-list operations, NMS, RoI pool, point queries, IoU, and interpolation.
Prebuilt SYCL C++ archives and open3d-xpu wheels are available for Ubuntu 22.04+ and Windows 10+. The Windows open3d-xpu wheel is a preview release; it and the Windows open3d-cuda wheel should be treated as experimental while we expand platform coverage. See the SYCL documentation for device requirements, installation, and the supported Tensor API matrix.
Smaller Wheels and Better Python Tooling And Wider cross-platform support
A new install of the open3d wheel is now approximately 335 MB smaller, through more efficient C++ library packing and moving ML dependencies to extras (PRs #7516 and #7540; contributed by @ssheorey). Open3D-ML Python dependencies now install only when specifically requested:
pip install "open3d[ml]"This only affects python dependencies - the full core functionality is included without [ml].
Open3D now ships Python type information for static type checking and richer editor autocomplete. This improves development with tools such as mypy and VS Code without changing the dynamic Python API.
Open3D supports Python 3.10 through 3.14, including new Python 3.13 and 3.14 wheels. PyTorch is updated to 2.13 and TensorFlow to 2.20. TensorFlow operations are not available on Python 3.14, and compiled TensorFlow operations remain unsupported on Windows. Open3D validates the installed framework's major and minor version against the version used to build its ML operations.
Open3D now has wheels for more platforms:
# Linux x86_64 CUDA wheel and Windows, macOS, Linux aarch64 CPU wheel:
pip install open3d
# Linux and Windows XPU wheel (Intel integrated and discrete GPUs)
pip install open3d-xpu
# Windows x86_64 CUDA preview wheel
pip install https://github.com/isl-org/Open3D/releases/download/v0.20.0/open3d-0.20.0-cp312-cp312-win_amd64.whl # Python 3.10-3.14Registration, Geometry, and Reconstruction
-
Added symmetric ICP registration for legacy and Tensor pipelines (PR #7276; contributed by @eclipse0922).
-
Added 3D Normal Distributions Transform (NDT) registration with C++ and Python APIs (PR #7517; contributed by @Xiang-Zeng).
-
Added Moving Least Squares, Laplacian, Taubin, and bilateral point-cloud smoothing (PR #7419; contributed by @TsofnatMaman).
-
Exposed
full_depth,samples_per_node, andpoint_weightfor Poisson surface reconstruction (PR #7430; contributed by @Chevi-Koren). -
Added
CorrespondenceCheckerBasedOnSourceRotationfor RANSAC workflows with a known global orientation prior (PR #7461; contributed by @jGiltinan). -
Added accurate minimum-volume oriented bounding boxes using Jylanki's algorithm
OrientedBoundingBox::CreateFromPointsMinimal(), alongside the fast approximate method (PR #7138; contributed by @quentin-leboutet).
-
Added minimum-volume oriented bounding ellipsoids for point clouds and triangle meshes with Khachiyan's algorithm (PR #7377; contributed by @quentin-leboutet).
-
Added
transform,translate,scale, androtatesupport for legacyVoxelGridgeometry (PR #7339; contributed by @lmuffang).
Rendering, Interoperability, and Remote Visualization
-
Added MikkTSpace tangent space generation, normal-map conversion, and ray-cast ambient-occlusion texture baking for Tensor triangle meshes (PR #7364; contributed by @ssheorey).
Baked tangents Baked normals
Original world-space normal map Computed tangent-space normal map
Restored world-space normal map Ambient occlusion for a torus
-
Added experimental USD/USDZ import and transparent Draco decompression for lights (PR #7505; contributed by @ssheorey); broader scene semantics are not yet supported.
-
Reduced WebRTC remote-visualization delays with input/redraw coalescing, asynchronous frame encoding, and streaming configuration improvements (PR #7496; contributed by @ssheorey).
-
Replaced OSMesa with EGL for Linux legacy-visualizer headless rendering (PR #7518; contributed by @ssheorey). Standard Open3D Linux binaries can render without
DISPLAYorWAYLAND_DISPLAYwhen an EGL-capable driver is available.
Distribution and Build Experience
- All Open3D distributed binaries now have GitHub artifact attestations (PR #7512). Users can verify that the distribution they are using was built on Open3D GitHub CI.
gh attestation verify /path/to/<artifact> -R isl-org/Open3D- Open3D now uses oneAPI TBB for CPU parallelism, removing its OpenMP runtime dependency and avoiding common runtime conflicts with frameworks such as PyTorch (PR #6626; contributed by @dbs4261).
- Added vcpkg support for dependency management (PR #7386; contributed by @eclipse0922).
- The Open3D Viewer is available through the Microsoft Store on Windows, with file associations for common geometry formats including
.splatand.spz(PR #7534; contributed by @ssheorey). - Repaired WebRTC prebuilt packaging across Linux, macOS arm64, and Windows runtime variants (PR #7515; contributed by @ssheorey).
Agent Skills for Open3D Applications
Open3D now ships agent skills for AI coding assistants that write applications using Open3D (PR #7542; contributed by @eclipse0922). The open3d-python and open3d-cpp skills map the public APIs, clarify the Tensor-versus-legacy API choices, and cover device, I/O, visualization, registration, reconstruction, and CMake integration.
The skills are included in Python wheels and C++ binary packages. Install the Python skill into a project's .github/skills directory with:
open3d agent_skill --install .github/skillsFor C++, copy open3d-cpp from share/Open3D/agent_skills/open3d-cpp in an extracted open3d-devel package to the project's .github/skills/ directory. On Windows, the source directory is bin/Open3D/agent_skills/open3d-cpp.
Correctness and Performance
- Non-contiguous NumPy and Pandas vector conversion is up to about 50x faster in affected workloads (PR #7343; contributed by @Khizar1).
- Mesh point sampling now samples mesh colors when present and correctly uses area-uniform triangle sampling (PRs #6842 and #6653; contributed by @nikste and @ghost).
- CUDA now handles sliced boolean-mask indexing and large KNN selection more reliably (PRs #7340 and #7381; contributed by @TwentyPast4 and @nicolaloi).
Breaking Changes and Known Issues
CPU Parallelism Uses TBB
OpenMP support has been removed. WITH_OPENMP, OMP_NUM_THREADS, utility::OMPProgressBar, utility::GetThreadNum(), and utility::InParallel() are no longer available. Use open3d.utility.set_max_threads() in Python or utility::SetMaxThreads() in C++; applications that require stricter thread control can use a TBB task arena. Open3D requires oneTBB 2021.4.0 or newer.
ML Dependencies Are Optional
pip install open3d no longer installs Open3D-ML Python dependencies. Install the ml extra when importing Open3D-ML functionality:
pip install "open3d[ml]"Platform and Package Compatibility
- macOS x86_64 is no longer supported; macOS distributions are arm64-only.
- Python package DLL discovery no longer searches
PATHfor non-CUDA DLLs. - Windows
open3d-cudaandopen3d-xpu(sycl) wheels and devel packages are preview/experimental. Windowscudadoes not support PyTorch ops, and TensorFlow ops is not available on Windows. Debug devel builds forcudaandsyclare not available. - sycl / xpu wheels do not have support for Jupyter or Azure Kinect.
- Linux legacy-visualizer headless builds now use EGL instead of OSMesa. The
ENABLE_HEADLESS_RENDERINGandHEADLESS_RENDERINGCMake options and OSMesa dependencies have been removed. Windows and macOS still require an active desktop/window-server session for legacy-visualizer rendering.
SYCL Limitations
As with CUDA, some legacy APIs are not yet available. Open3D currently uses one SYCL GPU at a time. GPU kernels are JIT-compiled on first use, so the first run on a device can be slower; enable a persistent cache with o3d.core.sycl.enable_persistent_jit_cache() or SYCL_CACHE_PERSISTENT=1.
Gaussian Splatting Limitations
Some platforms may hang or crash when displaying Gaussian Splats (Windows Intel Arc A770m is known to hang.). Gaussian Splatting uses Vulkan on Linux and Windows and Metal on macOS; the OpenGL renderer is not supported. MSAA is disabled for splat views, with the Gaussian anti-aliasing option serving that role. Very large or close splats can exceed tile limits and be culled, and dense scenes can drop tile entries after reaching their configured capacity. Use the Gaussian Splat material capacity parameters to tune these limits for the scene.
For anisotropic splats, do not use a general 4x4 Transform() to change the scene. Use Translate, Scale, and Rotate so positions, covariance orientation, and view-dependent coefficients remain consistent.
Acknowledgment
Thank you to the Open3D community contributors, issue reporters, and users who helped shape this release.
