Display hundreds of millions of colored points in 3d viewport, limited only by system and gpu memory.
Any Blender object can be used as container for points, points are not part of Blender data (until converted to) for maximal performance.
Supported file formats - read: PLY, LAS/LAZ, E57, PCD, any text based file format such as PTS, XYZ, TXT, CSV etc., write: PLY, LAS/LAZ, E57 and PTS.
Custom PLY reader/writer optimized for point data and performance.
Supports loading/editing/writing of 3D Gaussian Splatting PLY files, can reconstruct points colors from spherical harmonics and convert to Blender mesh that can be rendered in Cycles engine approximating 3DGS effect.
Display points with many shading options that can be mixed together, display points with analytic shaders, display point normals, use clipping planes, display scalar values (value remapping in range, color schemes).
Fast Navigation option that draws subsampled points into 3d viewport while is being navigated for smooth working with very large datasets.
Cleanup points directly with modal selection tools or by using Blender edit mode with temporary mesh linked with points using Blender tools.
Mesh Retopology tools that utilize vertices snapping to points and mesh drawn with custom shaders over points.
Clip planes modal tool to interact with clipping planes visually, store/restore clip planes named states.
Abundance of editing filters: subsample/voxelize/slice points, crop, boolean, join, split, color adjustment, remove by color or value, project on mesh, remove duplicates, estimate normals, point set registration, surface reconstruction and many more.
Builtin gpu rendering to image or images sequence with viewport or transparent background.
Convert points to various Blender mesh (and vdb volume) data for use with Geometry Nodes and rendering with any render engine while preserving all loaded scalar fields and normals.
Generate point clouds from mesh surface, mesh volume, Geometry Nodes vertices with attributes and generate point clouds from whole scene by simulating lidar scanner or photogrametry.
Working with PLY sequences, playback, batch convert, filter and export. Sequence can also be generated from mesh or scene.
Can be used as debugging tool to display 3d location/normal/color data with easy to use python api.
For information, ambient occlusion works on the cloud (my first test with photoscan trial version)
OpenGL render donāt work. Why ? Do you have a solution ?
update: 0.3.0 new ply loader, can be used with any binary ply file with vertex coordinates and colors
from now it should load any binary ply with āx, y, z, red, green, blueā vertex values. all other values are ignored. color values must be in 0-255 range.
Hi carbon2,
Nice work !
For opengl render under python you may take a look at MesureIt or archipack [1], (sharing same codebase).
The trick is to use gl to draw over an image rather than on screen.
Keep in mind that blender gl api is likely to deeply change under 2.8 (complete rewrite, not yet done).
i donāt think i understand, for rendering like on image right? not rendering to viewport, or there is some performance black magic, drawing all to in memory image and then the drawing image over viewport to speed things upā¦
So Iām very excited about this add-on, as I NEED vert colors from point clouds for what Iām trying to do.
Iām using Mandelbulb 3D to generate point clouds of 3D fractals to import into Blender for volumetric rendering in cycles and renderman. Mandelbulb 3D bases the vert colors on the fractally calculated colors, which is important. āFakingā that sort of thing just isnāt really possible.
So Iāve installed this ā¦ I think ā¦ All I need is the second link you listed, yes? I tried downloading the .zip from the first GitHub link, but Blender wouldnāt accept that for an install.
When I try to load my .ply files, Iām told āUnable to load .plyā
Here is one of my point clouds Iām attempting to import. This is a pretty small one. Just a default formula for test export. Some of the point clouds .ply files are over 150 megs, and Iām sure I could easily go bigger. https://drive.google.com/open?id=1Boa4KLp1Hwf4FEcY89GU-IM5kr1jV__x
I very much look forward to be able to use this add-on.
ā¦ I even tried running the .ply thru MeshLab and exporting it as Collada, but Blender still didnāt bring in the vert colors.
the first link is my repo of all addons, it canāt be installed as a whole. the second link is addon itself.
but seems like you sorted it out and successfully installed addon, now the ply files. the ply you linked is ascii ply file and only binary ply files works in my addon. it has ply reader built in and it accepts only binary encoded ply files, so if you can save them as binary or in meshlab load your ascii ply, save as ply again, this time with binary encoding checked and you are good to go. i tested it with your file and works well.
by the way, with binary encoding you get much smaller file sizesā¦
Okay thanks. That worked to get it into your visualizer, and the colors do indeed come through nicely.
Is there a way for me to apply that to a volumetric material?
While trying to figure if/how I could do that, it crashed and gave me this error, which I duly report:
Traceback (most recent call last):
File āC:\Users\freeman\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\view3d_point_cloud_visualizer.pyā, line 299, in modal
context.area.tag_redraw()
AttributeError: āNoneTypeā object has no attribute ātag_redrawā
location: <unknown location>:-1
ALSO! Thanks for the tip about the binary file. I didnāt realize Mandelbulb 3D was outputting text. And no, there is no binary option, sadly.
can you provide some steps to reproduce the error? such errors does not say much. it might be for example, that you switched are type from viewport to something else while drawing pointcloud. documentation about drawing to viewport is kinda non existentā¦
Hi carbon2,
bgl is able to draw over viewport and over any image.
No black magick here, in MesureIt, the code draw gl only part over a black empty image and then composite with regular render.
This way you may add gl over any regular render, regardless of render engine used.
Sorry, no. It has only happened once, and I donāt remember exactly what series of steps I had done that resulted in that.
Any tips on using those vertex colors as the source for volumetric colors?
What Iām trying to do is use point clouds of fractals to create volumetrics in Blender, and really kinda need the colors from the fractals as well.