GeoPointsToMesh
The GeoPointsToMesh node (NukeX only) uses geometry normals to generate a mesh from a point cloud using Poisson Surface Reconstruction.
Note: Based on the SGP 2006 paper, Poisson Surface Reconstruction by Michael Kazhdan, Matthew Bolitho, and Hugues Hoppe. The original source code and paper can be found at https://www.cs.jhu.edu/~misha/Code/PoissonRecon
Tip: GeoPointsToMesh's classic 3D system equivalent is the PoissonMesh node.
Inputs and Controls
Connection Type |
Connection Name |
Function |
Input |
unnamed |
The previous stage in the scene you want to affect. |
Control (UI) |
Knob (Scripting) |
Default Value |
Function |
GeoPointsToMesh |
|||
Path |
prim_path |
none |
The root path of the new object. Path defaults a prim path variable {parent}/{nodename} which is equal to the node name, such as GeoPointsToMesh1 or GeoPointsToMesh5. |
Parent Type |
parent_type |
Xform |
Sets the type of prim to create if there are missing ancestors in the path. Note: Setting the Parent Type to None may cause some referenced objects to behave as if they don't exist. |
Mask |
mask_patterns |
none |
Specifies the mask pattern to match the prim names from which the mesh is created. You can use standard glob-style variables, such as /*, to create masks or use individual prim names separated by spaces. For example, /GeoCube1 /GeoCard3 applies the transform to only those prims. Tip: You can also use the cog menu, the Viewer picker, or drag and drop paths from the Scene Graph to create masks. |
Use Selection |
use_selection |
on |
When enabled, selection flags from GeoSelect nodes further up the tree are used to create the mesh. |
Filtering |
use_filtering |
on |
When enabled, filter the new mesh so that only faces with normals similar to those of the input are created. |
Depth |
depth |
8 |
Sets the maximum depth of the tree that is used for surface reconstruction. The Depth value must be an integer with a maximum value of 10, because each increment increases the solver's potential memory usage by 8 times, so keep it as low as possible. You can also think of it as the density of the voxels used by the solver. Running at depth d corresponds to solving on a voxel grid whose resolution is no larger than 2^d x 2^d x 2^d. Note: The reconstructor adapts the octree to the sampling density, so the specified reconstruction depth is only an upper bound. |
Scale |
scale |
1.25 |
Specifies the ratio between the diameter of the cube used for reconstruction and the diameter of the samples' bounding cube. |
Solver Divide |
solver_divide |
8 |
Specifies the depth at which a block Gauss-Seidel solver is used to solve the Laplacian equation. Using this parameter helps reduce the memory overhead at the cost of a small increase in reconstruction time. Tip: We found that for reconstructions of Depth >= 9, a Solver Divide of 7 or 8 can greatly reduce memory usage. |
Iso Divide |
iso_divide |
8 |
Specifies the depth at which a block iso-surface extractor is used to extract the iso-surface. Iso Divide helps reduce the memory overhead at the cost of a small increase in extraction time. Tip: We found that for reconstructions of Depth >= 9, an Iso Divide of 7 or 8 can greatly reduce memory usage. |
Samples Per Node |
samples_per_node |
1 |
Specifies the minimum number of sample points that fall within an octree node as the octree construction is adapted to sampling density. For noise-free samples, use small values in the range 1.0 - 5.0. For more noisy samples, larger values in the range 15.0 - 20.0 may provide a smoother, noise-reduced reconstruction. |
Confidence |
confidence |
off |
When enabled, the reconstructor uses the size of the normals as confidence information. When disabled, all normals are normalized to have a unit-length prior to reconstruction. |