Loop Subdivision: subdivide triangular meshes
API function: algo.loopSubdivMesh.
Considering a surfacic mesh solely composed of triangles (ie, no quadrilaterals), this function applies the one-step Loop Subdivision algorithm in which each triangle is subdivided into four smaller ones. Vertices are positioned to create a smooth subdivision surface. This function is applied recursively D times, where D is the subdivision depth (see parameters).
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
A low-poly mesh | Loop Subdivision (depth D=1) | Loop Subdivision (depth D=2) |
Warning
If the mesh has non-triangular surfacic elements (i.e., quadrilaterals), the function will not do anything. See algo.triangularize.
Sharp edges
The subdivision preserves edge sharpness along the surface border: after topological subdivision, vertices are placed so as to preserve edge sharpness (following section 2.1 of this paper).
![]() |
![]() |
![]() |
Sharp border edges | D=1 | D=2 |
Parameters
Occurrences
List of occurrences to process.
Depth
The subdivision depth. Determines the number of recursive subdivision steps applied to each triangle.