Out of Memory with PRT Volume

Yikes. Set the display limit to 0, and the voxel length to .00001 and quickly ran out of memory. Is there a way to get the bounding box of the geometry, and give the maximum number of points to be generated? Though it does seem a bit odd that it would process so long when the limit is 0. Unless it’s the generation of the sampling grid that’s eating up the memory, not the points themselves, which seems reasonable.

The limit controls how many points will be generated ONCE the Level Set has been created. The trouble is to know how big the Level Set will be. The PRT Volume first scans the geometry into a Level Set structure, then fills every voxel that is found to be inside the mesh with a particle. So the limits apply to the particle generation part, not the Level Set part.

We intended to add a popup to warn the user if the voxel length is very small and we anticipate huge memory usage, but it did not make it into this build, possibly in Beta 9.

Not to be nitpicky, but maybe you could just have a “viewport” checkbox that skips the sampling and point generation entirely for the viewport. The calculation of maximum points could be done on the bounding box of the mesh in that case. When the view is enabled, but the percentage/limit is active, you could output the expected number based on the actual levelset values, so we would know how many points are going to the render, even if we only show 1%+limit 5000.

Just some ideas. I don’t know how rough this is at this point.

  • Chad

These are all good ideas and in the direction of what we might do.
An estimate of the number of voxels based on the bounding box was something that was scripted into the GeoVolume modifier. The PRT Volume is a real C++ plugin and as such a real PITA to expand the UI, but we will try to make it usable as time goes by.

Today we intend to post a Beta 9 with the particle lighting and possibly the voxel additive modes fixed as well as the Hue/Sat/Value control over icon colors to please your eye. Then we will keep on tweaking the build and hopefully get the PRT Volume in a more usable state. We DO know it needs more love.

Now if we could just supply our own levelsets…

In the current beta, the PRT Volume crashes Scanline renderer (max 9 x64). I wasn’t expecting it to render, but it shouldn’t take down max. Lemme know if this won’t reproduce for you.

  • Chad

Repro’d and fixed. Should be better in the build later today.

Is there any way to turn off the viewport processing? Using 1.5.0.37033, only thing I managed to do is set the spacing to 100, but it still processes, just faster, and for large objects, 100 isn’t high enough to really speed it up enough. Since it’s a base object I can’t just set to “off in viewport” either.

  • Chad

Not really. We probably won’t get a button for that before release. On the other hand, you could use a Delete modifier on the geometry node, that is set to On in Viewport. No faces == No particles.

A Shell modifier set up the same way lets me have only the surface particles in the view, while the solid object render. Thanks for the tip.