Houdini 21.0 Nodes Geometry nodes

Attribute Fill geometry node

A low-level node that can solve combinatorial versions of some partial differential equations on an edge-connected point cloud.

On this page
Since 19.0

The Attribute Fill SOP can solve one of several partial differential equations on point attributes of the input geometry. Edge connections between points facilitate direct data exchange, and length of the edge determines strength of this connection. That is, this node actually solves combinatorial analogues of the respective equations, using the graph structure of the input mesh to discretize the differential operators. The supported equations are listed below.

Inputs

Input

A point cloud with edge connectivity to run the solve on. Note that the extrapolate mode requires the input to be a polygonal mesh.

Outputs

Output

Input geometry with updated Attribute values.

Parameters

Mode

This menu selects which equation is solved. Eikonal computes how long it takes to reach every point in the mesh from source points. Poisson is useful for smoothly filling in an attribute, given its known value at some points. Diffusion models the spreading of attribute values from higher to lower ones. Extrapolate simulates parallel transport along shortest paths back to the source.

Attribute

Name of the point attribute to modify. Written values depend on the selected Mode. In Eikonal mode, the incoming attribute values are ignored. In Poisson and Extrapolate modes, incoming values are only used for points in the Boundary Group. In Diffusion mode, incoming values of all points are used.

Speed Attribute

Name of the attribute holding “speed” at each point. In Eikonal mode, these values control travel speed when leaving the respective point. In Diffusion mode, this attribute determines diffusion rates. In both cases, larger values allow for more rapid exchange of data.

Attribute to Match

Name of the attribute for the Poisson solve to try and match. Values in the result will follow the rates of change of the Attribute to Match (that is, difference between two adjacent points in the results will be close to the difference in the values of their Attribute to Match)–as far as the incoming Attribute values in the Boundary Group permit this.

If this attribute is not provided, the node will attempt to find the least varying values that satisfy the prescribed values in the Boundary Group. That is, if the Attribute to Match has the same constant value for all points, the result will be identical to not providing this at all (assuming there is no Weight Attribute).

Weight Attribute

Name of the attribute storing the relative importance of following the Attribute to Match at each point. The solver will try harder to enforce the prescribed rates of change at points with larger values for the Weight Attribute.

Valid weight values are between 0 and 1. The node will internally clamp the weight values to this range. If the effective weight values are all 1, results will be identical to not supplying a Weight Attribute.

Boundary Group

A point group identifying the special source points. In Eikonal mode, points in this group are considered “seeds”: arrival time at these points is set to 0. In Poisson mode, Boundary Group contains points that have fixed, known incoming Attribute values. Finally, points in this group act like fixed sources in Diffusion mode. That is, the Attribute value is not allowed to change at these points, but these values will still affect the solve.

Note

Points that are disconnected from the Boundary Group by edges get the default value of Attribute in Poisson mode. In Eikonal mode, the value of Unreachable Time is written for such points.

Minimum Edge Length

Minimum distance between points as seen by the internal solver. System that must be solved for Poisson and Diffusion modes becomes ill-conditioned when the input geometry contains connected points that are too close. Increase this value if the node is producing incorrect results.

Minimum Speed

Minimum diffusion rate seen by the internal solver. System that must be solved for Diffusion mode becomes ill-conditioned when the given diffusion rates are too close to 0. Increase this value if the node is producing incorrect results.

Diffusion Time

The interval of time to simulate in Diffusion mode. A larger Diffusion Time will allow the Attribute values to spread further.

Note

The node will take a single implicit step of the requested size. You can “substep” the solve by taking several smaller steps by putting this node in a loop.

Unreachable Time

Points of the geometry that are not reachable by following edges from the Boundary Group get this value written for their Attribute. This parameter applies when Mode is set to Eikonal.

Extrapolation Type

This parameter applies when Mode is set to Extrapolate. Scalar extrapolation will copy the values from the nearest point in the Boundary Group. Parallel Transport only applies to vector valued attributes, and will additionally incorporate the rotation needed to keep the vector parallel along the path to the nearest point in the Boundary Group. Radial Field will instead produce radial vector fields with radial sources at the points in the Boundary Group.

Tangential Component Only

This parameter applies when Mode is set to Extrapolate and with vector field data. When enabled, the normal component of the transported vector field is removed, keeping the field brushed along the surface. Otherwise, the normal component of the field is also extrapolated using the Scalar extrapolation method.

Global Rotation

This parameter applies when Mode is set to Extrapolate and with vector field data. The final output is rotated around the normal by the specified angle.

Examples

AttribFillDiffuse Example for Attribute Fill geometry node

This example shows how to use the Blur (Diffuse) mode to spread out an attribute from source points along the mesh and prevent diffusing past UV boundaries.

AttribFillEikonal Example for Attribute Fill geometry node

This example shows how to use the Arrival Time (Eikonal) mode to compute the distance along edges from source points to all other points on the mesh.

AttribFillInterpolate Example for Attribute Fill geometry node

This example shows how to use the Interpolate (Poisson) mode to interpolate the interior point colors given only the colors on the boundaries of a grid.

AttribFillParallelTransport Example for Attribute Fill geometry node

This example shows how to use the Extrapolate (Transport) mode with with extrapolation type set to parallel transport to transport a vector along a surface.

Geometry nodes