FGeomCacheTrackProxy

This the track proxy has some "double double buffering" going on.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

GeometryCache

Header

/Engine/Plugins/Experimental/GeometryCache/Source/GeometryCache/Public/GeometryCacheSceneProxy.h

Include

#include "GeometryCacheSceneProxy.h"

Syntax

class FGeomCacheTrackProxy

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

Name Description

Public variable

bool

 

bNextFrameMeshDataSelected

Flag to indicate which frame mesh data was selected during the update

Public variable

bool

 

bResourcesInitialized

Public variable

FGeomCacheColor...

 

ColorBuffer

Public variable

uint32

 

CurrentPositionBufferIndex

Public variable

int32

 

FrameIndex

Frame numbers corresponding to MeshData, NextFrameMeshData

Public variable

FGeomCacheIndex...

 

IndexBuffer

Index buffer for this Track

Public variable

float

 

InterpolationFactor

Public variable

TArray< UMateri...

 

Materials

Material applied to this Track

Public variable

FGeometryCacheM...

 

MeshData

MeshData storing information used for rendering this Track

Public variable

int32

 

NextFrameIndex

Public variable

FGeometryCacheM...

 

NextFrameMeshData

Public variable

uint32[2]

 

PositionBufferFrameIndices

Public variable

float[2]

 

PositionBufferFrameTimes

Public variable

FGeomCacheVerte...

 

PositionBuffers

Vertex buffers for this Track.

Public variable

int32

 

PreviousFrameIndex

Public variable

float

 

PreviousInterpolationFactor

Public variable

float

 

SubframeInterpolationFactor

Public variable

FGeomCacheTange...

 

TangentXBuffer

Public variable

FGeomCacheTange...

 

TangentZBuffer

Public variable

FGeomCacheVerte...

 

TextureCoordinatesBuffer

Public variable

UGeometryCacheT...

 

Track

The GeometryCacheTrack to which the proxy is associated

Public variable

int32

 

UploadedSampleIndex

Public variable

FGeomCacheVerte...

 

VertexFactory

Vertex factory for this Track

Public variable

FMatrix

 

WorldMatrix

World Matrix for this Track

Constructors

Name Description

Public function

FGeomCacheTrackProxy

(
    ERHIFeatureLevel::Type InFeatureLev...
)

Destructors

Name Description

Public function Virtual

~FGeomCacheTrackProxy()

Functions

Name Description

Public function Virtual

void

 

FindSampleIndexesFromTime

(
    float Time,
    bool bLooping,
    bool bIsPlayingBackwards,
    int32& OutFrameIndex,
    int32& OutNextFrameIndex,
    float& InInterpolationFactor
)

Find the two frames closest to the given time InterpolationFactor gives the position of the requested time slot between the two returned frames.

Public function Virtual

bool

 

GetMeshData

(
    int32 SampleIndex,
    FGeometryCacheMeshData& OutMeshDat...
)

Get the MeshData for a given SampleIndex

Public function Virtual Const

const FVisib...

 

GetVisibilitySample

(
    float Time,
    const bool bLooping
)

Get the VisibilitySample for a given time

Public function Virtual

void

 

InitRenderResources

(
    int32 NumVertices,
    int32 NumIndices
)

Initialize the render resources. Must be called before the render resources are used.

Public function Virtual

bool

 

IsTopologyCompatible

(
    int32 SampleIndexA,
    int32 SampleIndexB
)

Check if the topology of two given SampleIndexes are compatible (ie. same topology)

Public function Virtual

bool

 

UpdateMeshData

(
    float Time,
    bool bLooping,
    int32& InOutMeshSampleIndex,
    FGeometryCacheMeshData& OutMeshDat...
)

Update the SampleIndex and MeshData for a given time

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss