Foundation
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Attributes | Static Private Attributes | List of all members
FAnimationRuntime Class Reference

#include <Animation.hpp>

Classes

struct  Dispatch
 
struct  MeshInput
 
struct  Output
 

Public Member Functions

 FAnimationRuntime (Allocator *alloc=GLOBAL_ALLOC)
 
void Initialize (FImportedScene &scene, GPUScene &gpu, RHIDevice *device, FSceneGPUResources &resources)
 
void Reset (FSceneGPUResources *resources=nullptr)
 
void RemoveInstance (uint32_t instanceIndex, FSceneGPUResources &resources)
 
bool Tick (float dt, uint64_t frame)
 
void BuildGraph (Renderer *renderer, RendererResources &resources)
 
bool HasSkinning () const
 
Span< FAnimationPlaybackGetPlaybacks ()
 
Span< const FAnimationPlaybackGetPlaybacks () const
 
Span< const uint32_t > GetSkeletonClips (uint32_t skeletonIndex) const
 

Private Attributes

AllocatormAllocator {GLOBAL_ALLOC}
 
FImportedScenemScene {nullptr}
 
GPUScenemGPU {nullptr}
 
RHIDevicemDevice {nullptr}
 
Vector< MeshInputmMeshes
 
Vector< OutputmOutputs
 
Vector< FAnimationPlaybackmPlaybacks
 
Vector< Vector< uint32_t > > mSkeletonClips
 
Vector< FPosemPoses
 
Vector< uint32_t > mPaletteSkeletonOffsets
 
Vector< DispatchmDispatches
 
RHIDeviceScopedHandle< RHIBuffermInputBuffer
 
RHIDeviceScopedHandle< RHIBuffermInputStagingBuffer
 
RHIDeviceScopedHandle< RHIBuffermPaletteBuffer
 
mat4 * mPaletteMapped {nullptr}
 
uint32_t mInputSize {0}
 
uint32_t mPaletteFrameMatrices {0}
 
bool mInputUploadPending {false}
 
bool mForceUpdate {false}
 

Static Private Attributes

static constexpr uint32_t kPaletteFrames = 4u
 

Constructor & Destructor Documentation

◆ FAnimationRuntime()

FAnimationRuntime::FAnimationRuntime ( Allocator alloc = GLOBAL_ALLOC)
explicit

Member Function Documentation

◆ BuildGraph()

void FAnimationRuntime::BuildGraph ( Renderer renderer,
RendererResources resources 
)

◆ GetPlaybacks() [1/2]

Span< FAnimationPlayback > FAnimationRuntime::GetPlaybacks ( )
inline

◆ GetPlaybacks() [2/2]

Span< const FAnimationPlayback > FAnimationRuntime::GetPlaybacks ( ) const
inline

◆ GetSkeletonClips()

Span< const uint32_t > FAnimationRuntime::GetSkeletonClips ( uint32_t  skeletonIndex) const

◆ HasSkinning()

bool FAnimationRuntime::HasSkinning ( ) const
inline

◆ Initialize()

void FAnimationRuntime::Initialize ( FImportedScene scene,
GPUScene gpu,
RHIDevice device,
FSceneGPUResources resources 
)

◆ RemoveInstance()

void FAnimationRuntime::RemoveInstance ( uint32_t  instanceIndex,
FSceneGPUResources resources 
)

◆ Reset()

void FAnimationRuntime::Reset ( FSceneGPUResources resources = nullptr)

◆ Tick()

bool FAnimationRuntime::Tick ( float  dt,
uint64_t  frame 
)

Member Data Documentation

◆ kPaletteFrames

constexpr uint32_t FAnimationRuntime::kPaletteFrames = 4u
staticconstexprprivate

◆ mAllocator

Allocator* FAnimationRuntime::mAllocator {GLOBAL_ALLOC}
private

◆ mDevice

RHIDevice* FAnimationRuntime::mDevice {nullptr}
private

◆ mDispatches

Vector<Dispatch> FAnimationRuntime::mDispatches
private

◆ mForceUpdate

bool FAnimationRuntime::mForceUpdate {false}
private

◆ mGPU

GPUScene* FAnimationRuntime::mGPU {nullptr}
private

◆ mInputBuffer

RHIDeviceScopedHandle<RHIBuffer> FAnimationRuntime::mInputBuffer
private

◆ mInputSize

uint32_t FAnimationRuntime::mInputSize {0}
private

◆ mInputStagingBuffer

RHIDeviceScopedHandle<RHIBuffer> FAnimationRuntime::mInputStagingBuffer
private

◆ mInputUploadPending

bool FAnimationRuntime::mInputUploadPending {false}
private

◆ mMeshes

Vector<MeshInput> FAnimationRuntime::mMeshes
private

◆ mOutputs

Vector<Output> FAnimationRuntime::mOutputs
private

◆ mPaletteBuffer

RHIDeviceScopedHandle<RHIBuffer> FAnimationRuntime::mPaletteBuffer
private

◆ mPaletteFrameMatrices

uint32_t FAnimationRuntime::mPaletteFrameMatrices {0}
private

◆ mPaletteMapped

mat4* FAnimationRuntime::mPaletteMapped {nullptr}
private

◆ mPaletteSkeletonOffsets

Vector<uint32_t> FAnimationRuntime::mPaletteSkeletonOffsets
private

◆ mPlaybacks

Vector<FAnimationPlayback> FAnimationRuntime::mPlaybacks
private

◆ mPoses

Vector<FPose> FAnimationRuntime::mPoses
private

◆ mScene

FImportedScene* FAnimationRuntime::mScene {nullptr}
private

◆ mSkeletonClips

Vector<Vector<uint32_t> > FAnimationRuntime::mSkeletonClips
private

The documentation for this class was generated from the following files: