repopulation failing


We’re running into some cases where the repopulation is failing. As we reduce the fill radius, we get more particles, but at a certain point the the render ‘breaks’ and we get all pixels as zeros in rgba. We know the render worked however because we can see the particles in the z-depth pass.

It seems quite sudden too, there seems to be a threshold where it either works fine or it fails.

We’re inputting float32 [3] for position and float32 [1] for density for around 50K particles and we’re fine with a fill radius that makes 150M points but 200M fails.

I’ll try saving out a PRT so we can debug the density values. Forgot we could do that until just now.
EDIT: The repopulated particles all have normal looking positions, but the densities are all 0.0.


Ok, so it seems that it’s just rounding down to zero because it’s float16… If I crank the final pass density up to 1500*10^10, I get my nice RGBA pixels. So it seems it’s an issue with what the density of the new particles is set to.

EDIT: Nope. False report, I had another variable in play. Yeah, I’m just seeing very dense particles instantly disappear at certain thresholds.


I have a feeling it is because of the falloff parameter. What happens if you set the repopulation falloff to zero (disabling the effect)?


Here’s a test. The radius is animated from 1 to 0 over 50 frames. Falloff set to zero. So the last frame in fact has no particles.

Notice that the Z buffer render shows the linear animation, but the density render flickers.


Side note… It’s neat being able to make the particles, retime them (to pause the flow), animate the repopulation tool, render, split out the two passes, normalize them, merge them onto a new background with one on each side, add the text, etc., and have it all rendered out with one button push. Yay SR!


Ah, I see there’s an issue in there with our density computation. I will take a look to see what the problem might be.

Other than that, are you generally happy with how the density is being computed? Note, that we plan on including the incoming density channel in the computation in future versions.


Not really. I think there should be an option to maintain the overall density. Like it should conserve it’s “mass” even as it’s distributed over more “samples”.


Hey Chad, this issue is fixed now in the latest build. Thanks again for the test images.
See: viewtopic.php?f=166&t=9473