> For the complete documentation index, see [llms.txt](https://docs.meshmorpher.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.meshmorpher.com/graph/geometry/subdivide.md).

# Subdivide

<div align="left"><figure><img src="/files/Uce2ADyLHDrB4BYlCgan" alt=""><figcaption></figcaption></figure></div>

```
/**
 * Node that subdivides a mesh while preserving skinning and morph targets.
 * 
 * Increases mesh resolution by splitting triangles, with optional
 * smoothing and reprojection to maintain surface detail.
 * 
 * Usage:
 * 1. Connect source mesh
 * 2. Configure subdivision level and smoothing options
 * 3. Click Apply to subdivide
 */
```

| Parameter                                                 | Description                                                                                                                                                |
| --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>NormalThreshold</p><p><code>float</code></p>           | Threshold for comparing vertex normals when matching or merging vertices.                                                                                  |
| <p>bSkipMaterialMatching</p><p><code>boolean</code></p>   | If true, material matching is skipped during subdivision or projection.                                                                                    |
| <p>bIgnoreBoundaryVertices</p><p><code>boolean</code></p> | If true, boundary vertices are ignored during processing.                                                                                                  |
| <p>SmoothingType</p><p><code>enum</code></p>              | Type of smoothing algorithm to use                                                                                                                         |
| <p>SmoothSpeed</p><p><code>float</code></p>               | Speed or intensity of the smoothing operation.                                                                                                             |
| <p>bEnableReproject</p><p><code>boolean</code></p>        | If true, enables reprojection of vertices after subdivision.                                                                                               |
| <p>ProjectionQuality</p><p><code>integer</code></p>       | Subdivision of the mesh we're projection on. For this mesh we're using opensubdiv. Don't abuse this value, usually 2-3 steps is enough in most cases.&#xD; |
| <p>SubdivisionLevel</p><p><code>integer</code></p>        | Number of subdivision steps to apply to the mesh.                                                                                                          |
| <p>bFlat</p><p><code>boolean</code></p>                   | If true, applies flat subdivision instead of smooth.                                                                                                       |
| <p>JunctionThreshold</p><p><code>float</code></p>         | Threshold for detecting and handling mesh junctions.                                                                                                       |
| <p>MergeVertexTolerance</p><p><code>float</code></p>      | Tolerance distance for merging close vertices.                                                                                                             |

{% embed url="<https://youtu.be/vCAg5TEhnPU?si=c57JEj-TAEeBbcv2>" %}
