Navigation
Unreal Engine C++ API Reference > Plugins > GeometryCache
Inheritance Hierarchy
- FGeomCacheTrackProxyFixLayout
- FGeomCacheTrackProxy
- FGeomCacheTrackAbcFileProxy
- FGeomCacheTrackUsdProxy
References
Module | GeometryCache |
Header | /Engine/Plugins/Runtime/GeometryCache/Source/GeometryCache/Public/GeometryCacheSceneProxy.h |
Include | #include "GeometryCacheSceneProxy.h" |
Syntax
class FGeomCacheTrackProxy : private FGeomCacheTrackProxyFixLayout
Remarks
This the track proxy has some "double double buffering" going on. First we keep two mesh frames. The one just before the current time and the one just after the current time. This is the full mesh and we interpolate between it to derive the actual mesh for the exact time we're at. Secondly we have two position buffers. The one for the current rendered frame and the one from the previous rendered frame (this is not the same as the mesh frame, the mesh may be at say 10 fps then get interpolated to 60 fps rendered frames)
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
bool | bNextFrameMeshDataSelected | Flag to indicate which frame mesh data was selected during the update |
![]() |
bool | bResourcesInitialized | |
![]() |
FGeomCacheColorBuffer | ColorBuffer | |
![]() |
uint32 | CurrentPositionBufferIndex | |
![]() |
int32 | FrameIndex | Frame numbers corresponding to MeshData, NextFrameMeshData |
![]() |
FGeomCacheIndexBuffer | IndexBuffer | Index buffer for this Track |
![]() |
float | InterpolationFactor | |
![]() |
TArray< UMaterialInterface * > | Materials | Material applied to this Track |
![]() |
FGeometryCacheMeshData * | MeshData | MeshData storing information used for rendering this Track |
![]() |
int32 | NextFrameIndex | |
![]() |
FGeometryCacheMeshData * | NextFrameMeshData | |
![]() |
uint32[2] | PositionBufferFrameIndices | |
![]() |
float[2] | PositionBufferFrameTimes | |
![]() |
FGeomCacheVertexBuffer[2] | PositionBuffers | Vertex buffers for this Track. |
![]() |
int32 | PreviousFrameIndex | |
![]() |
float | PreviousInterpolationFactor | |
![]() |
float | SubframeInterpolationFactor | |
![]() |
FGeomCacheTangentBuffer | TangentXBuffer | |
![]() |
FGeomCacheTangentBuffer | TangentZBuffer | |
![]() |
FGeomCacheVertexBuffer | TextureCoordinatesBuffer | |
![]() |
UGeometryCacheTrack * | Track | The GeometryCacheTrack to which the proxy is associated |
![]() |
int32 | UploadedSampleIndex | |
![]() |
FGeomCacheVertexFactory | VertexFactory | Vertex factory for this Track |
![]() |
FMatrix | WorldMatrix | World Matrix for this Track |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
FGeomCacheTrackProxy
(
ERHIFeatureLevel::Type InFeatureLevel |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | FindSampleIndexesFromTime
(
float Time, |
Find the two frames closest to the given time InterpolationFactor gives the position of the requested time slot between the two returned frames. |
![]() ![]() |
bool | GetMeshData
(
int32 SampleIndex, |
Get the MeshData for a given SampleIndex |
![]() ![]() ![]() |
const FVisibilitySample & | GetVisibilitySample
(
float Time, |
Get the VisibilitySample for a given time |
![]() ![]() |
void | InitRenderResources
(
FRHICommandListBase& RHICmdList, |
Initialize the render resources. Must be called before the render resources are used. |
![]() ![]() |
bool | IsTopologyCompatible
(
int32 SampleIndexA, |
Check if the topology of two given SampleIndexes are compatible (ie. same topology) |
![]() ![]() |
bool | UpdateMeshData
(
float Time, |
Update the SampleIndex and MeshData for a given time |