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 |
{nodename} |
The root path of the new object. Path defaults to {nodename}. |
Create Missing Parents |
parent_type |
Xform |
Sets the type of prim to create if there are missing ancestors in the path. |
Mask |
mask_patterns |
All roots |
Specifies the mask pattern to match the prim names to affect. The default mask, All roots, defaults to select the top most level Xforms in your scene graph. You can use standard glob-style variables, such as /*, to create masks or use individual prim names separated by spaces. For example, /GeoCube 1 /GeoCard3 applies the effect to only those prims. All roots - select the top level Xform(s) in your scene. Last modified - selects whatever the last node modified was. All Cameras - selects all Cameras in your scene graph. All Lights - select all lights in your scene graph. All Meshes - selects all meshes in your scene graph. Custom - sets a custom selection of prims that exist in your scene graph. 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. |