34 [[nodiscard]]
bool Tick(
float dt, uint64_t frame);
#define GLOBAL_ALLOC
Definition Allocator.hpp:240
FAnimationRuntimeBudget CalculateAnimationRuntimeBudget(FImportedScene const &scene)
Definition Animation.cpp:17
Definition Animation.hpp:27
bool Tick(float dt, uint64_t frame)
Definition Animation.cpp:217
RHIDeviceScopedHandle< RHIBuffer > mPaletteBuffer
Definition Animation.hpp:93
RHIDeviceScopedHandle< RHIBuffer > mInputBuffer
Definition Animation.hpp:91
bool mForceUpdate
Definition Animation.hpp:98
void BuildGraph(Renderer *renderer, RendererResources &resources)
Definition Animation.cpp:306
void Reset(FSceneGPUResources *resources=nullptr)
Definition Animation.cpp:168
Vector< uint32_t > mPaletteSkeletonOffsets
Definition Animation.hpp:89
RHIDevice * mDevice
Definition Animation.hpp:83
void Initialize(FImportedScene &scene, GPUScene &gpu, RHIDevice *device, FSceneGPUResources &resources)
Definition Animation.cpp:45
Vector< Dispatch > mDispatches
Definition Animation.hpp:90
Vector< FAnimationPlayback > mPlaybacks
Definition Animation.hpp:86
bool HasSkinning() const
Definition Animation.hpp:37
Span< const FAnimationPlayback > GetPlaybacks() const
Definition Animation.hpp:39
bool mInputUploadPending
Definition Animation.hpp:97
Vector< Output > mOutputs
Definition Animation.hpp:85
Vector< FPose > mPoses
Definition Animation.hpp:88
uint32_t mPaletteFrameMatrices
Definition Animation.hpp:96
Span< FAnimationPlayback > GetPlaybacks()
Definition Animation.hpp:38
RHIDeviceScopedHandle< RHIBuffer > mInputStagingBuffer
Definition Animation.hpp:92
Vector< MeshInput > mMeshes
Definition Animation.hpp:84
mat4 * mPaletteMapped
Definition Animation.hpp:94
Vector< Vector< uint32_t > > mSkeletonClips
Definition Animation.hpp:87
Allocator * mAllocator
Definition Animation.hpp:80
GPUScene * mGPU
Definition Animation.hpp:82
static constexpr uint32_t kPaletteFrames
Definition Animation.hpp:46
FImportedScene * mScene
Definition Animation.hpp:81
Span< const uint32_t > GetSkeletonClips(uint32_t skeletonIndex) const
Definition Animation.cpp:209
uint32_t mInputSize
Definition Animation.hpp:95
void RemoveInstance(uint32_t instanceIndex, FSceneGPUResources &resources)
Definition Animation.cpp:192
Allocator interface (noexcept)
Definition Allocator.hpp:29
Definition Device.hpp:246
Scoped move-only RAII handle wrapper for RHI Objects.
Definition Details.hpp:85
Renderer implementing a Frame Graph system with automatic resource tracking and synchronization.
Definition Renderer.hpp:377
Definition GPUScene.hpp:187
std::vector< T, StlAllocator< T > > Vector
std::vector with explicit Foundation::Core::StlAllocator constructor
Definition Container.hpp:149
std::span< T > Span
Alias for std::span
Definition Container.hpp:62
Definition Animation.hpp:7
uint32_t skeletonIndex
Definition Animation.hpp:8
bool playing
Definition Animation.hpp:12
uint32_t clipIndex
Definition Animation.hpp:9
float speed
Definition Animation.hpp:11
float time
Definition Animation.hpp:10
bool loop
Definition Animation.hpp:13
bool dirty
Definition Animation.hpp:14
Definition Animation.hpp:18
size_t inputBytes
Definition Animation.hpp:19
size_t paletteBytes
Definition Animation.hpp:20
size_t TotalBytes() const
Definition Animation.hpp:21
Definition Animation.hpp:66
uint32_t indexCount
Definition Animation.hpp:75
uint32_t jointCount
Definition Animation.hpp:76
uint32_t vertexCount
Definition Animation.hpp:74
uint32_t paletteOffset
Definition Animation.hpp:73
uint32_t indexSourceOffset
Definition Animation.hpp:70
uint32_t skinBindingOffset
Definition Animation.hpp:69
uint32_t indexDestinationOffset
Definition Animation.hpp:72
GeometryHandle geometry
Definition Animation.hpp:67
bool updateIndices
Definition Animation.hpp:77
uint32_t bindVertexOffset
Definition Animation.hpp:68
uint32_t vertexDestinationOffset
Definition Animation.hpp:71
Definition Animation.hpp:59
uint32_t meshIndex
Definition Animation.hpp:61
bool updateIndices
Definition Animation.hpp:63
uint32_t instanceIndex
Definition Animation.hpp:60
GeometryHandle geometry
Definition Animation.hpp:62
Definition GPUScene.hpp:8
Definition GPUScene.hpp:47
Definition Renderer.hpp:159