split_points node

The node "splits" points to alleviate the grainy look that can sometimes result from splatting points with a poor spatial distribution. The observation is that we can avoid a grainy look by ensuring a smooth distribution of density on the points. Thus, we sample new points whenever we detect points that too far away from the average of the points in a given voxel.

Inputs

aero_body [in]

The input aero body (Amino::Object) that contains the tile tree used to efficiently emit particles.

time [in]

The current time.

time_step [in]

The size of this time-step (delta-time).

point_density [in]

The number of points per unit volume.

density_significance_threshold [in]

Points are emitted into voxels where the voxel density is above this threshold.

violation_factor [in]

The maximum factor away from the average a point is allowed to contribute.

coarsest_depth [in]

The coarsest depth in the tile tree at which splitting should happen.

enable [in]

If set to true, splitting will take place, otherwise this node works as a passthrough.

points [inout]

The input/output Amino::Object containing the emitted points.