Navigation
API > API/Plugins > API/Plugins/DynamicMesh > API/Plugins/DynamicMesh/Operations > API/Plugins/DynamicMesh/Operations/FSelectiveTessellate > API/Plugins/DynamicMesh/Operations/FSelectiveTessellate/CreateConcentric-
References
| Module | DynamicMesh |
| Header | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Operations/SelectiveTessellate.h |
| Include | #include "Operations/SelectiveTessellate.h" |
| Source | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Private/Operations/SelectiveTessellate.cpp |
static TUniquePtr< FTessellationPattern > CreateConcentricRingsTessellationPattern
&40;
const FDynamicMesh3 &42; InMesh,
const TArray< int > & InEdgeTessLevels,
const TArray< int > & InInnerTessLevels
&41;
Remarks
Helper methods for setting up built-in tessellation patterns. Currently glsl, uniform and inner uniform patterns are provided. You can create custom patterns by subclassing FTessellationPattern. Pattern where the inner area is tessellated using the style of the OpenGL tessellation shader. The inner area of each tessellated triangle consists of multiple "rings". Areas between the rings are tessellated with the new triangles.
You can specify per-edge and per-triangle tessellation levels. Per-edge tessellation level determines how many new vertices are inserted along the new edge. Per-triangle tessellation level determines the number of new vertices along each of the edges of the first inner ring. Each subsequent ring will have 2 fewer vertices.
Triangles with a zero inner tessellation level but with a non-zero edge tessellation level (common for those triangles adjacent to the triangles marked for tessellation) will have a single vertex inserted in the middle and connected to all edge vertices (triangle fan).
O / \ O. .O / O \ O. / \ .O / O. .O \ / / O \ \ / / / \ \ \ O. / / \ \ .O / O. / \ .O \ / / O-------O \ \ O. / . . \ .O / O----O-------O----O \ / . . . . \ O-O-O----O-O-O
Parameters
| Name | Description |
|---|---|
| InMesh | Mesh we are tessellating. |
| InEdgeTessLevels | Array of InMesh->MaxEdgeID() size, where InEdgeTessLevels[EdgeID] is the number of new vertices inserted along an EdgeID edge. |
| InInnerTessLevels | Array of InMesh->MaxTriangleID() size, where InInnerTessLevels[TriangleID] is the number of new vertices along each of the edges of the first inner ring. |