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