8
$\begingroup$

Problem: I would like to render a 3D scan data (so no volume) containing only vertices (no faces or edges) with colour informations in cycles.

Tried so far: I tried particles (spawning spheres on each vertices) but I couldn't get the sphere to have the colour of the vertex it spawned from and with lots of points it's takes a lot of memory. I tried hairs, but it looks like they only get the right colour when there are faces, they stay black if the mesh only has sparse points (bug ?)

Answers: I'm opened to all suggestions. Exact looking techniques are better, but if there are some holes in the rendering it's ok. So using the above-mentioned techniques if you know the right parameters to save memory and have colour information is ok. It can be a version of that solution : http://www.blensor.org/node/27 working in cycles. Answers with GSoC Projects versions are ok (the OpenVDB or DingTo ones for example ?)

To be met: I use a 20 000 000 point cloud data and I only have 8G memory, the solution must be memory-efficient. To give an Idea of how much can be used for so many points : the 3D scan program it comes from renders it using only 400M Memory.

$\endgroup$
7
  • 1
    $\begingroup$ You could use the Skin modifier to convert the vertices to cubes, but I don't know how well that will work for 20 million vert object. $\endgroup$
    – gandalf3
    Oct 3 '13 at 19:59
  • $\begingroup$ @gandalf3 Good Idea, but I tried the skin modifier, even on an "only" 4 million point cloud, blender uses 12BG of memory and then crashes. $\endgroup$
    – matali
    Oct 4 '13 at 9:48
  • 2
    $\begingroup$ Any special reason you want to use cycles instead of blender internal? $\endgroup$
    – Gunslinger
    Oct 4 '13 at 10:56
  • $\begingroup$ Is it a way forward to split your point cloud in different layers and render them in separate render layers, combining them in the compositor? I'm not very familiar with how blender would manage memory in this case, but a guess is that is makes one layer at a time, keeping the total memory requirement low. $\endgroup$
    – Gunslinger
    Oct 4 '13 at 10:59
  • $\begingroup$ BI doesn't handle large amount of polygons really well. Splitting wouldn't allow good self-shadowing (some shadows will be missing because of missing geometry). I already have a way to export my 3D scan as lowpoly mesh+normal map which is really memory efficient but doesn't permit self-shadowing. Displacement mapping at the moment is really not memory efficient. $\endgroup$
    – matali
    Oct 4 '13 at 12:11
3
$\begingroup$

May be you want to check out this link to render a colored point cloud in Blender-

https://visheshvision.wordpress.com/2014/04/28/rendering-a-colored-point-cloud-in-blender/

$\endgroup$
2
  • $\begingroup$ Link only answers are discouraged (if the link goes away, so does the answer). Could you add some of the information in the link to your answer? $\endgroup$
    – gandalf3
    Apr 29 '14 at 20:04
  • $\begingroup$ The link in the answer uses some custom C++ code to generate splats for each point in the cloud. A splat is a small quad orientated to the normal of the vertex (point) and taking the colour of the vertex. I would have thought it would be relatively straightforward to do this conversion using Python in Blender. $\endgroup$ Oct 24 '17 at 13:10
1
$\begingroup$

I don't think that blender will suit you well in this case. It is not set up for this kind of data. It will just eat all of your ram and then crash. I think using another application like mesh lab would be better. It is made for point-clouds. It is free and even better, open-source. I know its not blender but it should solve your problem.

$\endgroup$
3
  • $\begingroup$ Mesh lab does handle it much better, true, but the goal is to render it in cycles in the end. And importing the meshed version of the cloud in Blender is even worse. I guess it would need at least 32BG of memory! The best solution for now are hair, but they are still not taking the vert color... I guess the appropriate version will come with openVDB. $\endgroup$
    – matali
    Oct 6 '13 at 6:49
  • $\begingroup$ I was just offering an alternative solution. The ultimate goal is to render a point cloud with color. $\endgroup$
    – user320
    Oct 6 '13 at 11:48
  • $\begingroup$ And I thank you for your alternative. Sorry if my wording was a bit hard. I'm tired at the moment and may be a bit rude sometime... $\endgroup$
    – matali
    Oct 7 '13 at 17:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.