Navigation
API > API/Plugins > API/Plugins/DynamicMesh > API/Plugins/DynamicMesh/FSelectiveTessellate
Overloads
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static TUniquePtr< FTessellationPattern > CreateConcentricRingsTessellationPattern
(
const FDynamicMesh3* InMesh, |
Tessellate the whole mesh such that all the edge and inner tessellation levels are equal to InTessellationLevel. | Operations/SelectiveTessellate.h | |
static TUniquePtr< FTessellationPattern > CreateConcentricRingsTessellationPattern
(
const TFunctionRef< int(const int EdgeID)> InEdgeFunc, |
InEdgeFunc and InTriFunc functions will be evaluated on all edges and triangles respectively to determine their desired tessellation levels. | Operations/SelectiveTessellate.h | |
static TUniquePtr< FTessellationPattern > CreateConcentricRingsTessellationPattern
(
const FDynamicMesh3* InMesh, |
Helper methods for setting up built-in tessellation patterns. | Operations/SelectiveTessellate.h | |
static TUniquePtr< FTessellationPattern > CreateConcentricRingsTessellationPattern
(
const FDynamicMesh3* InMesh, |
Tessellate only selected triangles such that the edge and inner tessellation levels of those triangles are set to InTessellationLevel. | Operations/SelectiveTessellate.h |
CreateConcentricRingsTessellationPattern(const FDynamicMesh3 *, const int)
Description
Tessellate the whole mesh such that all the edge and inner tessellation levels are equal to InTessellationLevel.
| Name | CreateConcentricRingsTessellationPattern |
| Type | function |
| Header File | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Operations/SelectiveTessellate.h |
| Include Path | #include "Operations/SelectiveTessellate.h" |
| Source | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Private/Operations/SelectiveTessellate.cpp |
static TUniquePtr < FTessellationPattern > CreateConcentricRingsTessellationPattern
(
const FDynamicMesh3 * InMesh,
const int InTessellationLevel
)
CreateConcentricRingsTessellationPattern(const TFunctionRef< int(const int EdgeID)>, const TFunctionRef< int(const int TriangleID)>)
Description
InEdgeFunc and InTriFunc functions will be evaluated on all edges and triangles respectively to determine their desired tessellation levels. This can be helpful when the tessellation levels depend on some condition. For example, how close/far the edge/triangle is from some point in space.
not yet implemented
| Name | CreateConcentricRingsTessellationPattern |
| Type | function |
| Header File | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Operations/SelectiveTessellate.h |
| Include Path | #include "Operations/SelectiveTessellate.h" |
| Source | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Private/Operations/SelectiveTessellate.cpp |
static TUniquePtr < FTessellationPattern > CreateConcentricRingsTessellationPattern
(
const TFunctionRef < int> InEdgeFunc,
const TFunctionRef < int> InTriFunc
)
CreateConcentricRingsTessellationPattern(const FDynamicMesh3 *, const TArray< int > &, const TArray< int > &)
Description
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
| Name | CreateConcentricRingsTessellationPattern |
| Type | function |
| Header File | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Operations/SelectiveTessellate.h |
| Include Path | #include "Operations/SelectiveTessellate.h" |
| Source | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Private/Operations/SelectiveTessellate.cpp |
static TUniquePtr < FTessellationPattern > CreateConcentricRingsTessellationPattern
(
const FDynamicMesh3 * InMesh,
const TArray < int > & InEdgeTessLevels,
const TArray < int > & InInnerTessLevels
)
Parameters
| Name | Remarks |
|---|---|
| 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. |
CreateConcentricRingsTessellationPattern(const FDynamicMesh3 *, const int, const TArray< int > &)
Description
Tessellate only selected triangles such that the edge and inner tessellation levels of those triangles are set to InTessellationLevel.
| Name | CreateConcentricRingsTessellationPattern |
| Type | function |
| Header File | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Operations/SelectiveTessellate.h |
| Include Path | #include "Operations/SelectiveTessellate.h" |
| Source | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Private/Operations/SelectiveTessellate.cpp |
static TUniquePtr < FTessellationPattern > CreateConcentricRingsTessellationPattern
(
const FDynamicMesh3 * InMesh,
const int InTessellationLevel,
const TArray < int > & InTriangleList
)