Repopulation wish (normals generation only)


I noticed that the repopulation will return a normal channel for the particles even if the input didn’t have any.

So how about an option in repopulation to not actually make new particles, but to assign normals to the input particles based on their position relative to the levelset?


Oh, there isn’t supposed to be a “Normal” channel that is generated from repopulation. That is probably a bug.

The repopulation grid we use would likely not work too well to generate meaningful normals. I suspect we would have better luck spatting the original normals using the incoming “Normal” channel if it existed. However, we could generate normals from a grid, we would just have to generate better signed distances from the underlying level set. Right now, they are not in any shape to be creating normals from.


Hmmm… the output normals are the same no matter what the input normals are. They seem OK to me, to the point that they appear to be what I would expect based on the ZDepth output.


Should this be any different with

Density seems to be coming from the incoming stream, but not normals (or any other channels).


In the latest version, all the existing channels from the original particle set should be extrapolated to the newly repopulated particles, with the exception of “Normal” and “ID”.

“Normal” and “ID” are not coming from the original stream. I can look at changing that though. The reason I didn’t do the normals is because I thought it would produce weird results. Do you need “Normal” to be passed through like the other channels?


I can see use cases for the normals either way. Might need an option. I assume tangents is treated like normals?

Yeah, ID would be weird. But wait… why does ID matter? I didn’t think that got consumed by the renderer…


It gets used in saving/partitioning PRTs also. So all channels are considered.