#include <GPUSkinCache.h>
|
| | FGPUSkinCache (ERHIFeatureLevel::Type InFeatureLevel, bool bInRequiresMemoryLimit, UWorld *InWorld) |
| |
| ENGINE_API | FGPUSkinCache (ERHIFeatureLevel::Type InFeatureLevel, UWorld *InWorld) |
| |
| ENGINE_API | ~FGPUSkinCache () |
| |
| void | ProcessEntry (FRHICommandList &RHICmdList, const FProcessEntryInputs &Inputs, FGPUSkinCacheEntry *&InOutEntry) |
| |
| ENGINE_API void | DrawVisualizationInfoText (const FName &GPUSkinCacheVisualizationMode, FScreenMessageWriter &ScreenMessageWriter) const |
| |
| ENGINE_API UE::Tasks::FTask | Dispatch (FRDGBuilder &GraphBuilder, const UE::Tasks::FTask &PrerequisitesTask, ERHIPipeline Pipeline) |
| |
| ERHIFeatureLevel::Type | GetFeatureLevel () const |
| |
| bool | HasWork () const |
| |
| void | DoDispatch (FRHICommandList &RHICmdList) |
| |
| uint64 | GetExtraRequiredMemoryAndReset () |
| |
| bool | ProcessEntry (EGPUSkinCacheEntryMode Mode, FRHICommandList &RHICmdList, FGPUBaseSkinVertexFactory *VertexFactory, FGPUSkinPassthroughVertexFactory *TargetVertexFactory, const FSkelMeshRenderSection &BatchElement, FSkeletalMeshObject *Skin, const FMorphVertexBuffer *MorphVertexBuffer, const FSkeletalMeshVertexClothBuffer *ClothVertexBuffer, const FClothSimulData *SimData, const FMatrix44f &ClothToLocal, float ClothBlendWeight, FVector3f ClothScale, uint32 RevisionNumber, int32 Section, int32 LOD, bool &bRecreating, FGPUSkinCacheEntry *&InOutEntry) |
| |
| ENGINE_API int32 | AllocateDynamicMeshBoundsSlot (int32 NumSlots) |
| |
| ENGINE_API void | ReleaseDynamicMeshBoundsSlot (int32 Offset, int32 NumSlots) |
| |
|
| static void | UpdateSkinWeightBuffer (FGPUSkinCacheEntry *Entry) |
| |
| static void | SetEntryGPUSkin (FGPUSkinCacheEntry *Entry, FSkeletalMeshObject *Skin) |
| |
| static void | Dequeue (FGPUSkinCacheEntry *SkinCacheEntry) |
| |
| static void | Release (FGPUSkinCacheEntry *&SkinCacheEntry) |
| |
| static bool | IsEntryValid (FGPUSkinCacheEntry *SkinCacheEntry, int32 Section) |
| |
| static FColor | GetVisualizationDebugColor (const FName &GPUSkinCacheVisualizationMode, FGPUSkinCacheEntry *Entry, FGPUSkinCacheEntry *RayTracingEntry, uint32 SectionIndex) |
| |
| static bool | IsGPUSkinCacheRayTracingSupported () |
| |
| static FRWBuffer * | GetPositionBuffer (FRDGBuilder &GraphBuilder, FGPUSkinCacheEntry const *Entry, uint32 SectionIndex) |
| |
| static FRWBuffer * | GetPreviousPositionBuffer (FRDGBuilder &GraphBuilder, FGPUSkinCacheEntry const *Entry, uint32 SectionIndex) |
| |
| static FRWBuffer * | GetTangentBuffer (FRDGBuilder &GraphBuilder, FGPUSkinCacheEntry const *Entry, uint32 SectionIndex) |
| |
| static ENGINE_API ERHIPipeline | GetDispatchPipeline (FRDGBuilder &GraphBuilder) |
| |
| static ENGINE_API void | AddAsyncComputeSignal (FRDGBuilder &GraphBuilder) |
| |
| static ENGINE_API void | AddAsyncComputeWait (FRDGBuilder &GraphBuilder) |
| |
| static uint32 | GetUpdatedFrame (FGPUSkinCacheEntry const *, uint32) |
| |
◆ ESkinCacheInitSettings
| Enumerator |
|---|
| MaxUniformBufferBones | |
| RWTangentXOffsetInFloats | |
| RWTangentZOffsetInFloats | |
| IntermediateAccumBufferNumInts | |
◆ FGPUSkinCache() [1/2]
◆ FGPUSkinCache() [2/2]
◆ ~FGPUSkinCache()
| FGPUSkinCache::~FGPUSkinCache |
( |
| ) |
|
◆ AddAsyncComputeSignal()
◆ AddAsyncComputeWait()
◆ AllocateDynamicMeshBoundsSlot()
| int32 FGPUSkinCache::AllocateDynamicMeshBoundsSlot |
( |
int32 |
NumSlots | ) |
|
◆ Dequeue()
Dequeue a skin cache entry from the pending skin cache dispatches
◆ Dispatch()
◆ DoDispatch()
◆ DrawVisualizationInfoText()
◆ GetDispatchPipeline()
◆ GetExtraRequiredMemoryAndReset()
| uint64 FGPUSkinCache::GetExtraRequiredMemoryAndReset |
( |
| ) |
|
|
inline |
◆ GetFeatureLevel()
◆ GetPositionBuffer()
◆ GetPreviousPositionBuffer()
◆ GetTangentBuffer()
◆ GetUpdatedFrame()
◆ GetVisualizationDebugColor()
◆ HasWork()
| bool FGPUSkinCache::HasWork |
( |
| ) |
const |
|
inline |
◆ IsEntryValid()
◆ IsGPUSkinCacheRayTracingSupported()
| bool FGPUSkinCache::IsGPUSkinCacheRayTracingSupported |
( |
| ) |
|
|
static |
◆ ProcessEntry() [1/2]
| bool FGPUSkinCache::ProcessEntry |
( |
EGPUSkinCacheEntryMode |
Mode, |
|
|
FRHICommandList & |
RHICmdList, |
|
|
FGPUBaseSkinVertexFactory * |
VertexFactory, |
|
|
FGPUSkinPassthroughVertexFactory * |
TargetVertexFactory, |
|
|
const FSkelMeshRenderSection & |
BatchElement, |
|
|
FSkeletalMeshObject * |
Skin, |
|
|
const FMorphVertexBuffer * |
MorphVertexBuffer, |
|
|
const FSkeletalMeshVertexClothBuffer * |
ClothVertexBuffer, |
|
|
const FClothSimulData * |
SimData, |
|
|
const FMatrix44f & |
ClothToLocal, |
|
|
float |
ClothBlendWeight, |
|
|
FVector3f |
ClothScale, |
|
|
uint32 |
RevisionNumber, |
|
|
int32 |
Section, |
|
|
int32 |
LOD, |
|
|
bool & |
bRecreating, |
|
|
FGPUSkinCacheEntry *& |
InOutEntry |
|
) |
| |
|
inline |
◆ ProcessEntry() [2/2]
◆ Release()
◆ ReleaseDynamicMeshBoundsSlot()
| void FGPUSkinCache::ReleaseDynamicMeshBoundsSlot |
( |
int32 |
Offset, |
|
|
int32 |
NumSlots |
|
) |
| |
◆ SetEntryGPUSkin()
◆ UpdateSkinWeightBuffer()
The documentation for this class was generated from the following files: