Point Cloud Visualizer

0.7.1 viewport performance fixes
looks like illumination slowed down viewport even when not used, so now there are two shaders switched as needed, fast simple older version and slower but pretty with illumination enabled

1 Like

0.7.2 ui tweaks
with a subpanel to make it look more 2.80-ish

update: 0.8.0 convert to mesh

Conversion options:
  • Type - Instance mesh type, Vertex, Equilateral Triangle, Tetrahedron, Cube or Ico Sphere
  • Size - Mesh instance size, internal instanced mesh has size 1.0 so if you set size to 0.01, resulting instances will have actual size of 0.01 wven whan cloud is scaled
  • Align To Normal - Align instance to point normal, e.g. tetrahedron point will align to normal, triangle plane will align to normal etc.
  • Colors - Assign point color to instance vertex colors, each instance will be colored by point color (except vertices)

edit: also semi-fixed another bug related to undo/redo

1 Like

0.8.1 fixed ply with alpha, fixed convert to mesh when normals or colors are missing

1 Like

Hey, getting a couple of errors on 0.8.1, and cannot visualize any data. Tried with latest Blender beta.
This occours whenever i try to load a binary .PLY, or after that when hitting the Draw button (did not try with ASCII):

Traceback (most recent call last):
File “C:\Users\Utente\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\view3d_point_cloud_visualizer.py”, line 1376, in execute
ok = load_ply_to_cache(self, context)
File “C:\Users\Utente\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\view3d_point_cloud_visualizer.py”, line 1004, in load_ply_to_cache
batch = batch_for_shader(shader, ‘POINTS’, {“position”: vs[:l], “color”: cs[:l], “normal”: ns[:l], })
File “C:\Program Files\Blender Foundation\blender-2.80.0\2.80\scripts\modules\gpu_extras\batch.py”, line 56, in batch_for_shader
vbo.attr_fill(id, data)
ValueError: Unknown attribute name

location: :-1

hi, i tried latest beta (osx) and all works… older version of PCV works for you?
it looks like wrong data is filled to shader and it might be connected with rewrite if ply loader, if you open ply in meshlab is it ok?
can you send me some example ply? or at least if it is not possible, header from ply? open it in plain text editor and copy from start to ‘end_header’, it should look something like this
h

Hey, just exported a small test .PLY which is giving the same error. All my clouds are usually exported from CloudCompare in .PLY binary format, like this one:
https://www.dropbox.com/s/vrq5yr3ulxlr1cw/ciano_C2_casermetta.ply?dl=0
Thanks for your support :wink:

0.8.2 fixed shader unknown attribute name

the ply you send works without problem on osx, so i went to win machine. looks like when is compiled on win, compiler is smarter then expected, it leaves out normal input even when it is used in kind of dead end but whatever… and then when i try to fill normal value it will complain it does not exist…
anyway, now it should be fixed (tested only on osx), shaders are switched when needed and filled only with values that are actually used, so it should work on win too… i guess…

1 Like

Yep, confirming it’s fixed :slight_smile:

0.8.3 display normals

Display point normals as lines - click Normal icon, adjust line length with Size next to it.
Pro tip: for large clouds, set Display to some small percentage, adjust size to appropriate value and then set Display back.

pcv

2 Likes

ok, decided to rename normal size value to Length, otherwise everything is the same. even version number… two size properties next to each other looks confusing

edit: much better
pcv

small update:

0.8.4 preferences, ui tweaks

now you can set in addon preferences following options:

  • Default Color - Default color to be used upon loading PLY to cache when vertex colors are missing
  • Normal Color - Display color for vertex normals
1 Like

0.8.5 convert to mesh all or subset

point cloud to mesh new conversion option:
All, Subset - Use all points or random subset of by given percentage

convert

1 Like

0.8.6 ui tweaks, a few minor optimizations

main visible change is illumination options hidden behind edit icon, a bit less messy ui…
ui

1 Like

Great plugin! Instancing geometry is working at good speed but perhaps isn’t carrying the color information over. I do see the color represented on-screen from the imported PLY file when the plugin is set to draw. Any suggestions? It doesn’t seem to matter which type of geometry is instanced. Using 2.8b, if I go to the Object Data panel, it looks like there is a Col channel written to Vertex Colors, but it doesn’t seem to want to display or render.

Exporting the object in various formats and loading in other software packages seems to confirm that color data is not actually being carried over during instancing. It would be great if each instanced geometry can carry the color of the parent point.

Keep up the great work, thanks very much!

hi, are you sure there are no vertex colors? it works for me. colors won’t be visible in viewport until you go to vertex painting mode or render using vcols as color input, like on screenshot… try it and if it still doesn’t work, please send me some example .blend

edit: also please verify you have colors checked in Convert panel

Thanks for the reply. Unfortunately it does not seem to work. I checked vertex painting and the material nodes, and also downloaded some additional test files from Sketchfab to verify it wasn’t some problem induced by my files. There’s a blender file linked below. I’ll note that when I initially tried to install the plugin on 2.7 it gave an error, and I saw your screenshots were using 2.8, so I updated. The plugin installs without error, shows the PLY color and imports the normal data (and correctly applies normal data during instancing). But I notice the build date when launching is Feb 20 2019 20:10, and I’m wondering if you are running a slightly earlier build. Perhaps there is a change in the Blender source that is causing the issue, but apparently previous builds are not available for download to try and check it myself…

I’m on a current release of Win 10.

https://drive.google.com/file/d/1IP3-VRGvH67OLzLHvi0i3KeiHPtHVw2G/view?usp=sharing

that’s strange, vertex colors are there, if i go to vertex paint mode, they are visible (see screenshot) but if i go to rendered view, it is still black. also if you do f12 to render - colors are there, so i would say, this is bug in blender. also i imported object to 2.79 and everything works as expected.

today’s build appears to be fixed. at least on osx

Interesting. I had missed the Vertex Painting display in that test file. I exported the object as OBJ and PLY, and tested in CloudCompare and Meshlab. The OBJ file is instanced geometry but the vertex color is not carried to the .MAT file. Perhaps that is to be expected, but trying to push any vertex color to texture gives an error that ‘the mesh does not have Per Wedge Texture Coords’. Opening the exported PLY file does have the color and instanced geometry, with color applied to all vertexes of the instanced geometry appropriately. The source of that file is here

However if I open other files I get different results from the same workflow. Try this file, it will open and Draw correctly but does not seem to instance properly:

Or try this file, which will Draw and Instance properly but seemingly won’t carry the color information over during instancing:
https://drive.google.com/open?id=1DjWQSQUU5Xvltjfxc8-XUeWvFF1Qk0CX

Just to be clear, the plugin should work in 2.79?

Thanks for your time and effort.