2

Now I want to rendering a big data by about 30FPS. the data is that one frame 3,000,000 to 10,000,000 three-dimensional point cloud data One Point is that (x,y,z,r,g,b)

Using the the Visualizer of PCL and it takes more than 1sec to draw the 1Flame, it is too late.

Type and arrangement of data is anything good but,

Please Someone tell me good library that can rendering 3,000,000 Points Data (x y z -coordinate and RGB ) in 30FPS.

alu21
  • 29
  • 1
  • 4
  • 3M visible points? That's probably not going to happen on low/mid end hardware. Otherwise any renderer with some sort of culling should be able to do that, e.g. OpenScenegraph. – Daniel Jour Aug 28 '15 at 12:30

2 Answers2

3

I don't know of a library that does it but there are quite a few point cloud viewers that can render large or even massive point clouds (>1 billion points). Most of them require a preprocessing step to create a multi-resolution data structure.

Desktop:

  • CloudCompare (My favorite viewer for anything up to, say, 40m points. Lots of tools and features. For larger datasets you may want to look at one of the other viewers, though.)
  • Arena4D
  • PointCloudViz (Desktop Version)

Web Browsers:

  • Potree (check out the showcase, the CA13 example has 17 billion points)
  • Arena4D Point Server (streams points from an Arena4D server to a potree web client)
  • PointCloudViz (Server and Web Client)
  • Pointscene (web service for uploading and showing point clouds)
  • NewSpin (web service for uploading and showing point clouds)
  • 3DHop (mainly for meshes but can render point clouds, too)
  • Plas.io with Greyhound. Not sure about the status of this one. There were some promising developments.

If you want to render very large point clouds yourself, you will have to work with some kind of multi-resolution structures. You could try to load the multi-res octree from potree, which stores each node in a single file, or the multi-res file format from 3DHop.

Markus
  • 2,174
  • 2
  • 22
  • 37
-1

You could try this simple OpenGL based Point Cloud Renderer that I have written. I have tried it on point clouds with up to 50M points and it renders in real time. For the same data, PCL Viewer takes 5 seconds to update the frame.

In main.cpp, you will find a sample of how to format your position and colour data.

If your hardware supports OpenGL 4, you can set the version as 400 in the provided shaders and uncomment these lines in graphics.cpp

//  glutInitContextVersion(4, 0);
//  glutInitContextFlags(GLUT_FORWARD_COMPATIBLE);
//  glutInitContextProfile(GLUT_CORE_PROFILE);
jaideep777
  • 136
  • 1
  • 10