# Loop Subdivision

> Subdivide triangular meshes

API function: [algo.loopSubdivMesh](/asset-transformer-sdk/2026.4/api/python/algo_functions.md#loopsubdivmesh).

Considering a surfacic mesh solely composed of triangles (ie, no quadrilaterals), this function applies the one-step [Loop Subdivision](https://en.wikipedia.org/wiki/Loop_subdivision_surface) 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](#parameters)).

| ![](/api/media?file=/asset-transformer-sdk/media/images/algo/loop-subdiv/0-sphere0-crop2.png) | ![](/api/media?file=/asset-transformer-sdk/media/images/algo/loop-subdiv/0-sphere1-crop2.png) | ![](/api/media?file=/asset-transformer-sdk/media/images/algo/loop-subdiv/0-sphere2-crop2.png) |
| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| ![](/api/media?file=/asset-transformer-sdk/media/images/algo/loop-subdiv/2-t-rex0-crop2.png)  | ![](/api/media?file=/asset-transformer-sdk/media/images/algo/loop-subdiv/2-t-rex1-crop2.png)  | ![](/api/media?file=/asset-transformer-sdk/media/images/algo/loop-subdiv/2-t-rex2-crop2.png)  |
| A low-poly mesh                                                                               | Loop Subdivision (depth D=1)                                                                  | Loop Subdivision (depth D=2)                                                                  |

> **Important:**
>
> If the mesh has non-triangular surfacic elements (i.e., quadrilaterals), the function will not do anything. See [algo.triangularize](/asset-transformer-sdk/2026.4/api/python/algo_functions.md#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](http://kvanhoey.eu/data/research/VD22.pdf)).

| ![](/api/media?file=/asset-transformer-sdk/media/images/algo/loop-subdiv/1-sharp0-crop2.png) | ![](/api/media?file=/asset-transformer-sdk/media/images/algo/loop-subdiv/1-sharp1-crop2.png) | ![](/api/media?file=/asset-transformer-sdk/media/images/algo/loop-subdiv/1-sharp2-crop2.png) |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| 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.
