Navigation
API > API/Runtime > API/Runtime/Chaos
To avoid code bloat from ~2k instances of templated GJKRaycast2ImplSimd, it was rewritten to operate on support function pointers and void* object pointers This saved around 4MB in .text section and provided a noticeable CPU performance increase on a bottom line hardware
| Name | FGeomGJKHelperSIMD |
| Type | struct |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/GJK.h |
| Include Path | #include "Chaos/GJK.h" |
Syntax
struct FGeomGJKHelperSIMD
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FGeomGJKHelperSIMD
(
const T& Geom |
Chaos/GJK.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| SupportFunc | VectorRegister4Float(*) | Chaos/GJK.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Func | SupportFunc | Chaos/GJK.h | ||
| Geometry | const void * | Chaos/GJK.h | ||
| Margin | FRealSingle | Chaos/GJK.h | ||
| Radius | FRealSingle | Chaos/GJK.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FRealSingle GetMargin() |
Chaos/GJK.h | ||
FRealSingle GetMarginf() |
Chaos/GJK.h | ||
FRealSingle GetRadius() |
Chaos/GJK.h | ||
FRealSingle GetRadiusf() |
Chaos/GJK.h | ||
VectorRegister4Float SupportFunction
(
const VectorRegister4Float V |
Chaos/GJK.h | ||
VectorRegister4Float SupportFunction
(
const VectorRegister4Float V, |
Chaos/GJK.h | ||
VectorRegister4Float SupportFunction
(
const VectorRegister4Float AToBRotation, |
Chaos/GJK.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static VectorRegister4Float SupportCoreSimd
(
const void* Geom, |
Chaos/GJK.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
VectorRegister4Float operator()
(
const VectorRegister4Float V |
Chaos/GJK.h | ||
VectorRegister4Float operator()
(
const VectorRegister4Float AToBRotation, |
Chaos/GJK.h |