- The
PointCloud
class has been augmented with astd::vector<double> size_
instance attribute - A new vertex shader
VarSizeVertexShader
that setgl_PointSize
for every point is added - These are linked via the class
VarSizePointShader
, which binds thesize_
array to the shader - The C++ vector
size_
can be set via Python viapybind11
, by setting thesize
attribute in Python to a 1D numpy array of floats (but cast too3d.utility.DoubleVector
).
As an example, the following render the left half of the model with point size 1, right half with point size 10:
center = pcd.get_center()
def points_to_size(point):
if point[0] < center[0]:
return 1
else:
return 10
pcd.sizes = o3d.utility.DoubleVector(np.array(list(map(points_to_size, pcd.points))))
If pcd.sizes
is not initialized, visualizer.get_render_option().point_size
will be used instead.
To use this patched version of Open3D in a project, follow the Open3D instructions to compile. Then run the following the create pip package:
make pip-package
After that, run to install the patched version of Open3D.
pip install -e <path to build/lib/python_package>
After this point, running import open3d
from a Python script should import the patched version of Open3D.
Homepage | Docs | Quick Start | Compile | Python | C++ | Open3D-ML | Viewer | Contribute | Demo | Forum
Open3D is an open-source library that supports rapid development of software that deals with 3D data. The Open3D frontend exposes a set of carefully selected data structures and algorithms in both C++ and Python. The backend is highly optimized and is set up for parallelization. We welcome contributions from the open-source community.
Core features of Open3D include:
- 3D data structures
- 3D data processing algorithms
- Scene reconstruction
- Surface alignment
- 3D visualization
- Physically based rendering (PBR)
- 3D machine learning support with PyTorch and TensorFlow
- GPU acceleration for core 3D operations
- Available in C++ and Python
For more, please visit the Open3D documentation.
Pre-built pip and conda packages support Ubuntu 18.04+, macOS 10.14+ and Windows 10 (64-bit) with Python 3.6-3.9.
# Install Open3D stable release with pip (including in conda virtual environments)
$ pip install open3d
# Test the installation
$ python -c "import open3d as o3d; print(o3d)"
To get the latest features in Open3D, install the development pip package. To compile Open3D from source, refer to compiling from source.
Checkout the following links to get started with Open3D C++ API
To use Open3D in your C++ project, checkout the following examples
Open3D-Viewer is a standalone 3D viewer app available on Ubuntu and macOS. Please stay tuned for Windows. Download Open3D Viewer from the release page.
Open3D-ML is an extension of Open3D for 3D machine learning tasks. It builds on top of the Open3D core library and extends it with machine learning tools for 3D data processing. To try it out, install Open3D with PyTorch or TensorFlow and check out Open3D-ML.
- GitHub Issue: bug reports, feature requests, etc.
- Forum: discussion on the usage of Open3D.
- Discord Chat: online chats, discussions, and collaboration with other users and developers.
Please cite our work if you use Open3D.
@article{Zhou2018,
author = {Qian-Yi Zhou and Jaesik Park and Vladlen Koltun},
title = {{Open3D}: {A} Modern Library for {3D} Data Processing},
journal = {arXiv:1801.09847},
year = {2018},
}