Navigation
API > API/Runtime > API/Runtime/GeometryCore > API/Runtime/GeometryCore/DynamicMesh
References
| Module | GeometryCore |
| Header | /Engine/Source/Runtime/GeometryCore/Public/DynamicMesh/MeshTangents.h |
| Include | #include "DynamicMesh/MeshTangents.h" |
Syntax
template<typename RealType>
class TMeshTangents
Remarks
TMeshTangents is a utility class that can calculate and store various types of tangent vectors for a FDynamicMesh.
Variables
| Type | Name | Description | |
|---|---|---|---|
| TArray< int32 > | AllDegenerateTris | Indices of degenerate triangles. | |
| TArray< TVector< RealType > > | Bitangents | Set of computed bitangents | |
| const FDynamicMesh3 * | Mesh | Target Mesh | |
| TArray< TVector< RealType > > | Tangents | Set of computed tangents |
Constructors
| Type | Name | Description | |
|---|---|---|---|
TMeshTangents
(
const FDynamicMesh3* Mesh |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | ComputeDefaultOverlayTangents
(
FDynamicMesh3& Mesh |
Convenience function to compute tangents from the mesh attribute set's primary UVs and normals | |
| void | ComputeMikkTStyleTangents
(
const FDynamicMeshNormalOverlay* NormalOverlay, |
Calculate MikkT-space-style tangents. | |
| void | ComputeSeparatePerTriangleTangents
(
const FDynamicMeshNormalOverlay* NormalOverlay, |
Calculate per-triangle tangents and then projected to overlay normals at each triangle-vertex | |
| void | ComputeTriangleTangents
(
const FDynamicMeshUVOverlay* UVOverlay, |
Compute per-triangle tangents for the given UV Overlay | |
| void | ComputeTriVertexTangents
(
const FDynamicMeshNormalOverlay* NormalOverlay, |
Calculate per-triangle tangent spaces based on the given per-triangle normal and UV overlays. | |
| bool | CopyToOverlays
(
FDynamicMesh3& MeshToSet |
Set Tangents on mesh overlays | |
| bool | CopyTriVertexTangents
(
const FDynamicMesh3& SourceMesh |
Initialize Tangents from the FDynamicMeshAttributeSet of SourceMesh | |
| void | CopyTriVertexTangents
(
const TMeshTangents< OtherRealType >& OtherTangents |
Initialize Tangents from other Tangents set | |
| const TArray< TVector< RealType > > & | |||
| const TArray< int32 > & | |||
| void | GetInterpolatedTriangleTangent
(
int32 TriangleID, |
||
| void | GetPerTriangleTangent
(
int32 TriangleID, |
Return tangent and bitangent at a vertex of triangle for per-triangle computed tangents | |
| void | GetPerTriangleTangent
(
int32 TriangleID, |
Return tangent and bitangent at a vertex of triangle for per-triangle computed tangents | |
| const TArray< TVector< RealType > > & | GetTangents () |
||
| void | GetTriangleVertexTangentVectors
(
int32 TriangleID, |
Get tangent and bitangent at a vertex of a triangle for per-triangle computed tangents | |
| void | InitializeTriangleTangents
(
bool bClearToZero |
Per-Triangle Tangents Number of Tangents is NumTrianglesInitialize buffer sizes to one tangent/bitangent per mesh triangle | |
| void | InitializeTriVertexTangents
(
bool bClearToZero |
Per-Triangle-Vertex Tangents Number of Tangents is NumTriangles * 3 Set internal buffer sizes suitable for calculating per-triangle tangents. | |
| void | SetMesh
(
const FDynamicMesh3* MeshIn |
||
| void | SetPerTriangleTangent
(
int TriangleID, |
Set tangent and bitangent at a vertex of triangle for per-triangle computed tangents. | |
| void | SetTangentCount
(
int Count, |
Set the size of the Tangents array to Count, and optionally clear all values to (0,0,0) |