Point Cloud Visualizer

Ok, thanks for the reply. Around ~ 650M for 24GB ram gpu, will it need to fit all in vram or only visible in vram and all in standard ram ? (when you mean visible, is there an optimisation as what is in viewport camera like frustrum ?

Is the octree optimisation, or dynamic frustrum, or pure-CPU open cl drawcall (as the main bottleneck for large dataset rendering curently is vram) in the roadmap for the future of this addon ?

I have workstations with 128 or more ram, and only 24gb vram, so it may be easier to make CPU drawcall (or a mix of both if possible).

The render of non-meshed, but colored large dataset of pointclouds is really important for me and if solved, I could buy 2 or 3 licenses.

i was told that 650m points took 18.7 out of 24GB gpu ram.

i mean loaded points that are stored in system ram then sent to gpu ram (you can change percentage of points that are used for display, internally it slices array of points and sent only portion). gpu then decides what is visible and what not and draw what is needed

well, i would like to, but i need either come up with octree implemented not in python or use some library for it that is made to work with numpy arrays. and initial sorting will take time as well. so yes, i’d like that in future, if possible.

pcv uses blender gpu module, that is replacement for bgl. pcv render uses the same, only drawn into buffer instead on screen. so you need system ram to load points and gpu ram to draw anything.

i can put together some minimal testing code for you to run to determine how many points you can fit. send me PM if you are interested

for example, this is 300m points loaded, only positions and colors, no normals, that would take a lot of space more
300

I just wanted to reply publicly the numbers i could charge to anyone that is interested.
Running 1billion point, almost fill up 24gb of VRAM. It can run a 2fps on a 3090 with an i7-7820x.

1 Like

1.999.5

  • convert to blender native point cloud object (blender 3.1) - can be rendered in cycles as spheres: https://developer.blender.org/D9887
  • buttons to uninstall optional libraries

native point cloud object = procedural spheres in cycles hoooooray!

aaand some notes…

correct upgrade procedure is: start Blender, go to preferences, disable old PCV, remove old PCV, save preferences, quit Blender, start Blender, go to preferences, install new PCV, enable new PCV, save preferences. otherwise there will be some errors upon activation and they will not go away until blender is restarted

Installation notes for features depending on external libraries: operators in “Extras” panel, importing LAS and E57 files

Windows

  • use “Portable” Blender distribution, before installation of external libraries from preferences, run Blender as administrator
  • DO NOT install Open3D and PyMeshLab together, blender will crash. this seems to be PyMeshLab issue that apparently will not be fixed: https://github.com/cnr-isti-vclab/PyMeshLab/issues/132 so i am tempted to remove PyMeshLab completely. however, this is not an issue on linux and mac, so if E57 import is important for you, please let me know, or i could make free addon for addon :upside_down_face: to keep E57 import if somebody needs it to have it, but keep standard PCV pymeshlab free.

Linux

  • use Blender zip distribution (not store version)

Mac

  • Open3D and PyMeshLab are available for macOS 10.15+
1 Like

1.999.6

  • optional installs (open3d, laspy, etc) are now installed into user python site-packages on all platforms, windows and linux users no longer need to use blender portable/zip distribution
  • added sequence batch filter, convert and export to ply. sequence have to be preloaded (not loaded on-the-fly). batch filter and convert uses settings as set in filter/convert panels, batch export uses its own settings in batch export panel. so, for example, if you want apply Remove Duplicates to sequence go Filter > Remove Duplicates, set desired distance, go Sequence > Batch Filter choose Remove Duplicates from list and click Batch Filter. if you start blender from command line, each sequence frame is printed so you can observe some progress

sequence

edit: and filter properties can be animated, but animation have to start from frame 1, because files are processed only from frame 1 to last frame of sequence files, cycling have no effect on it, that if just for viewport display. also batch convert creates only as many new objects as sequence have frames. i really need to start writing documentation…

1 Like

for example, sequence of ply files, batch converted to native point clouds (blender 3.1) and rendered in cycles

seq

4 Likes

Hello !

I really love the new feature to display scalars instead of the RGB channels and mix them together !

I don’t know if this is the right place for a feature request, but I’d like to be able to multiply the RGB with the scalar instead of mixing them. This would help me add an ambient occlusion effect for instance :

BSE_86

I can kind of do it in CloudCompare now but this would be awesome new feature to have directly in Blender.

Cheers !

this is the best place for request :wink:

this should be easy to add, adding on todo

1 Like