Navigation
| Name | NaniteUtilities |
| Type | Developer |
| Location | /Engine/Source/Developer/NaniteUtilities/ |
| Module Build Rules | NaniteUtilities.Build.cs |
Classes
| Name | Remarks |
|---|---|
| FAdaptiveTessellator | |
| FDisplacementMap | |
| FEdgeHash | Find edge with opposite direction that shares these 2 verts. |
| FSettingsLayout |
Structs
| Name | Remarks |
|---|---|
| FAdjacency | |
| FLerpVert | Lerpable version of FStaticMeshBuildVertex. |
| FTriangle | Fixed point rasterization. |
| FTriangle3f | Floating point rasterization. |
| TAffine | [ Thonat et al. 2021, "Tessellation-Free Displacement Mapping for Ray Tracing" ] [ de Figueiredo and Stolf 2004, "Affine Arithmetic: Concepts and Applications" ] [ Rump and Kashiwagi 2015, "Implementation and improvements of affine arithmetic" ] |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| SubpixelBits | int32 | Rasterizer.h | ||
| SubpixelSamples | int32 | Rasterizer.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Affine.h | |||
| Affine.h | |||
void JacobiSVD::EigenSolver3
(
T*__restrict A, |
MatrixUtil.h | ||
void JacobiSVD::EigenSolver4
(
T*__restrict A, |
MatrixUtil.h | ||
T JacobiSVD::MaxOffDiagSymm
(
T*__restrict A, |
MatrixUtil.h | ||
bool JacobiSVD::Rotation3
(
T*__restrict A, |
MatrixUtil.h | ||
bool JacobiSVD::Rotation4
(
T*__restrict A, |
MatrixUtil.h | ||
void JacobiSVD::Update
(
T*__restrict A, |
Copyright (c) 2002-2012, Industrial Light & Magic, a division of Lucas Digital Ltd. | MatrixUtil.h | |
bool LUPFactorize
(
T*__restrict A, |
LUP factorization using Doolittle's method with partial pivoting. | MatrixUtil.h | |
void LUPSolve
(
const T*__restrict LU, |
Solve system of equations A*x = b. | MatrixUtil.h | |
bool LUPSolveIterate
(
const T*__restrict A, |
Newton's method iterative refinement. | MatrixUtil.h | |
float Nanite::Barycentric::Cotangent
(
const FVector3f& Barycentrics0, |
Angle at corner 0. | TriangleUtil.h | |
float Nanite::Barycentric::DistanceToEdge
(
float Barycentric, |
https://math.stackexchange.com/questions/3748903/closest-point-to-triangle-edge-with-barycentric-coordinates | TriangleUtil.h | |
float Nanite::Barycentric::LengthSquared
(
const FVector3f& Barycentrics0, |
[ Schindler and Chen 2012, "Barycentric Coordinates in Olympiad Geometry" https://web.evanchen.cc/handouts/bary/bary-full.pdf ] | TriangleUtil.h | |
float Nanite::Barycentric::SubtriangleArea
(
const FVector3f& Barycentrics0, |
TriangleUtil.h | ||
| Affine.h | |||
| Affine.h | |||
| Affine.h | |||
void PseudoInverse
(
T*__restrict S, |
Moore-Penrose pseudo inverse. | MatrixUtil.h | |
void PseudoSolve
(
const T*__restrict V, |
MatrixUtil.h | ||
bool PseudoSolveIterate
(
const T*__restrict A, |
Newton's method iterative refinement. | MatrixUtil.h | |
int32 Rasterizer::EdgeC
(
const FIntVector2& Edge, |
Rasterizer.h | ||
bool Rasterizer::IsCovered
(
const FVector2f& Edge, |
Rasterizer.h | ||
void RasterizeTri
(
const FVector3f Verts, |
Rasterizer.h | ||
T UE::Math::Scalar::Abs
(
const T A |
VectorUtil.h | ||
int32 UE::Math::Scalar::CeilToInt
(
const T A |
VectorUtil.h | ||
int32 UE::Math::Scalar::FloorToInt
(
const T A |
VectorUtil.h | ||
T UE::Math::Scalar::Max
(
const T A, |
VectorUtil.h | ||
T UE::Math::Scalar::Max3
(
const T A, |
VectorUtil.h | ||
T UE::Math::Scalar::Min
(
const T A, |
VectorUtil.h | ||
T UE::Math::Scalar::Min3
(
const T A, |
VectorUtil.h | ||
int32 UE::Math::Scalar::RoundToInt
(
const T A |
VectorUtil.h | ||
void VoxelizeTri26
(
const FVector3f Verts, |
26-separating voxelization, conservative | Rasterizer.h | |
void VoxelizeTri6
(
const FVector3f Verts, |
6-separating voxelization | Rasterizer.h |