UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GPUSkinCache.h File Reference
#include "CoreMinimal.h"
#include "Stats/Stats.h"
#include "HAL/IConsoleManager.h"
#include "RHI.h"
#include "RHIUtilities.h"
#include "RenderGraphDefinitions.h"
#include "RenderResource.h"
#include "ShaderParameters.h"
#include "UniformBuffer.h"
#include "GPUSkinPublicDefs.h"
#include "VertexFactory.h"
#include "CanvasTypes.h"
#include "CachedGeometry.h"
#include "DataDrivenShaderPlatformInfo.h"
#include "Engine/SkinnedAssetCommon.h"

Go to the source code of this file.

Classes

struct  FClothSimulEntry
 
class  FGPUSkinCache
 
struct  FGPUSkinCache::FProcessEntrySection
 
struct  FGPUSkinCache::FProcessEntryInputs
 

Enumerations

enum class  EGPUSkinCacheEntryMode { Raster , RayTracing }
 

Functions

bool ShouldWeCompileGPUSkinVFShaders (EShaderPlatform Platform, ERHIFeatureLevel::Type FeatureLevel)
 
ENGINE_API bool GPUSkinCacheNeedsDuplicatedVertices ()
 
ENGINE_API bool GPUSkinCacheStoreDuplicatedVertices ()
 
ENGINE_API ESkinCacheDefaultBehavior GetSkinCacheDefaultBehavior ()
 
ENGINE_API FDynamicMeshBoundsShaderParameters GetDynamicMeshBoundsShaderParameters (FRDGBuilder &GraphBuilder)
 
ENGINE_API void DynamicMeshBoundsModifyCompilationEnvironment (const FGlobalShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
 
void DynamicMeshBoundsModifyCompilationEnvironment (FShaderCompilerEnvironment &OutEnvironment)
 
 DECLARE_STATS_GROUP (TEXT("GPU Skin Cache"), STATGROUP_GPUSkinCache, STATCAT_Advanced)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Num Sections Skinned"), STAT_GPUSkinCache_TotalNumChunks, STATGROUP_GPUSkinCache,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Num Vertices Skinned"), STAT_GPUSkinCache_TotalNumVertices, STATGROUP_GPUSkinCache,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("Total Memory Bytes Used"), STAT_GPUSkinCache_TotalMemUsed, STATGROUP_GPUSkinCache,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("Intermediate buffer for Recompute Tangents"), STAT_GPUSkinCache_TangentsIntermediateMemUsed, STATGROUP_GPUSkinCache,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Num Triangles for Recompute Tangents"), STAT_GPUSkinCache_NumTrianglesForRecomputeTangents, STATGROUP_GPUSkinCache,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Num Sections Processed"), STAT_GPUSkinCache_NumSectionsProcessed, STATGROUP_GPUSkinCache,)
 

Variables

ENGINE_API int32 GEnableGPUSkinCache
 
int32 GSkinCacheRecomputeTangents
 

Enumeration Type Documentation

◆ EGPUSkinCacheEntryMode

Enumerator
Raster 
RayTracing 

Function Documentation

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [1/4]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Num Sections Processed" ,
STAT_GPUSkinCache_NumSectionsProcessed  ,
STATGROUP_GPUSkinCache   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [2/4]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Num Sections Skinned" ,
STAT_GPUSkinCache_TotalNumChunks  ,
STATGROUP_GPUSkinCache   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [3/4]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Num Triangles for Recompute Tangents" ,
STAT_GPUSkinCache_NumTrianglesForRecomputeTangents  ,
STATGROUP_GPUSkinCache   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [4/4]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Num Vertices Skinned" ,
STAT_GPUSkinCache_TotalNumVertices  ,
STATGROUP_GPUSkinCache   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [1/2]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("Intermediate buffer for Recompute Tangents" ,
STAT_GPUSkinCache_TangentsIntermediateMemUsed  ,
STATGROUP_GPUSkinCache   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [2/2]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("Total Memory Bytes Used" ,
STAT_GPUSkinCache_TotalMemUsed  ,
STATGROUP_GPUSkinCache   
)

◆ DECLARE_STATS_GROUP()

DECLARE_STATS_GROUP ( TEXT("GPU Skin Cache" ,
STATGROUP_GPUSkinCache  ,
STATCAT_Advanced   
)

◆ DynamicMeshBoundsModifyCompilationEnvironment() [1/2]

ENGINE_API void DynamicMeshBoundsModifyCompilationEnvironment ( const FGlobalShaderPermutationParameters Parameters,
FShaderCompilerEnvironment OutEnvironment 
)

◆ DynamicMeshBoundsModifyCompilationEnvironment() [2/2]

void DynamicMeshBoundsModifyCompilationEnvironment ( FShaderCompilerEnvironment OutEnvironment)
inline

◆ GetDynamicMeshBoundsShaderParameters()

ENGINE_API FDynamicMeshBoundsShaderParameters GetDynamicMeshBoundsShaderParameters ( FRDGBuilder GraphBuilder)

◆ GetSkinCacheDefaultBehavior()

ENGINE_API ESkinCacheDefaultBehavior GetSkinCacheDefaultBehavior ( )
extern

◆ GPUSkinCacheNeedsDuplicatedVertices()

ENGINE_API bool GPUSkinCacheNeedsDuplicatedVertices ( )
extern

◆ GPUSkinCacheStoreDuplicatedVertices()

ENGINE_API bool GPUSkinCacheStoreDuplicatedVertices ( )
extern

◆ ShouldWeCompileGPUSkinVFShaders()

bool ShouldWeCompileGPUSkinVFShaders ( EShaderPlatform  Platform,
ERHIFeatureLevel::Type  FeatureLevel 
)
extern

Variable Documentation

◆ GEnableGPUSkinCache

ENGINE_API int32 GEnableGPUSkinCache
extern

◆ GSkinCacheRecomputeTangents

int32 GSkinCacheRecomputeTangents
extern