Navigation
API > API/Plugins > API/Plugins/GeometryCache
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)
| Name | FGeomCacheTrackProxy |
| Type | class |
| Header File | /Engine/Plugins/Runtime/GeometryCache/Source/GeometryCache/Public/GeometryCacheSceneProxy.h |
| Include Path | #include "GeometryCacheSceneProxy.h" |
Syntax
class FGeomCacheTrackProxy : private FGeomCacheTrackProxyFixLayout
Inheritance Hierarchy
- FGeomCacheTrackProxyFixLayout → FGeomCacheTrackProxy
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FGeomCacheTrackProxy
(
ERHIFeatureLevel::Type InFeatureLevel |
GeometryCacheSceneProxy.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FGeomCacheTrackProxy() |
GeometryCacheSceneProxy.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bNextFrameMeshDataSelected | bool | Flag to indicate which frame mesh data was selected during the update | GeometryCacheSceneProxy.h | |
| bResourcesInitialized | bool | GeometryCacheSceneProxy.h | ||
| ColorBuffer | FGeomCacheColorBuffer | GeometryCacheSceneProxy.h | ||
| CurrentPositionBufferIndex | uint32 | GeometryCacheSceneProxy.h | ||
| FrameIndex | int32 | Frame numbers corresponding to MeshData, NextFrameMeshData | GeometryCacheSceneProxy.h | |
| IndexBuffer | FGeomCacheIndexBuffer | Index buffer for this Track | GeometryCacheSceneProxy.h | |
| InterpolationFactor | float | GeometryCacheSceneProxy.h | ||
| Materials | TArray< UMaterialInterface * > | Material applied to this Track | GeometryCacheSceneProxy.h | |
| MeshData | FGeometryCacheMeshData * | MeshData storing information used for rendering this Track | GeometryCacheSceneProxy.h | |
| NextFrameIndex | int32 | GeometryCacheSceneProxy.h | ||
| NextFrameMeshData | FGeometryCacheMeshData * | GeometryCacheSceneProxy.h | ||
| PositionBufferFrameIndices | uint32 | GeometryCacheSceneProxy.h | ||
| PositionBufferFrameTimes | float | GeometryCacheSceneProxy.h | ||
| PositionBuffers | FGeomCacheVertexBuffer | Vertex buffers for this Track. | GeometryCacheSceneProxy.h | |
| PreviousFrameIndex | int32 | GeometryCacheSceneProxy.h | ||
| PreviousInterpolationFactor | float | GeometryCacheSceneProxy.h | ||
| SubframeInterpolationFactor | float | GeometryCacheSceneProxy.h | ||
| TangentXBuffer | FGeomCacheTangentBuffer | GeometryCacheSceneProxy.h | ||
| TangentZBuffer | FGeomCacheTangentBuffer | GeometryCacheSceneProxy.h | ||
| TextureCoordinatesBuffer | FGeomCacheVertexBuffer | GeometryCacheSceneProxy.h | ||
| Track | UGeometryCacheTrack * | The GeometryCacheTrack to which the proxy is associated | GeometryCacheSceneProxy.h | |
| UploadedSampleIndex | int32 | GeometryCacheSceneProxy.h | ||
| VertexFactory | FGeomCacheVertexFactory | Vertex factory for this Track | GeometryCacheSceneProxy.h | |
| WorldMatrix | FMatrix | World Matrix for this Track | GeometryCacheSceneProxy.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual 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. | GeometryCacheSceneProxy.h | |
virtual bool GetMeshData
(
int32 SampleIndex, |
Get the MeshData for a given SampleIndex | GeometryCacheSceneProxy.h | |
virtual const FVisibilitySample & GetVisibilitySample
(
float Time, |
Get the VisibilitySample for a given time | GeometryCacheSceneProxy.h | |
virtual void InitRenderResources
(
FRHICommandListBase& RHICmdList, |
Initialize the render resources. Must be called before the render resources are used. | GeometryCacheSceneProxy.h | |
virtual bool IsTopologyCompatible
(
int32 SampleIndexA, |
Check if the topology of two given SampleIndexes are compatible (ie. same topology) | GeometryCacheSceneProxy.h | |
virtual bool UpdateMeshData
(
float Time, |
Update the SampleIndex and MeshData for a given time | GeometryCacheSceneProxy.h |