UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FShaderLibrariesCollection Class Reference

Public Member Functions

 FShaderLibrariesCollection (EShaderPlatform InShaderPlatform, bool bInNativeFormat)
 
 ~FShaderLibrariesCollection ()
 
void GatherShaderMapResourceReferences (const FShaderMapResource_SharedCode *InResource, TArray< FString > &OutLibrariesWithRefToResource)
 
bool OpenLibrary (FString const &Name, FString const &Directory, const bool bMonolithicOnly=false)
 
void CloseLibrary (FString const &Name)
 
void OnPakFileMounted (const UE::ShaderLibrary::Private::FMountedPakFileInfo &MountInfo)
 
uint32 GetShaderCount (void)
 
void DumpLibraryContents ()
 
EShaderPlatform GetRuntimeShaderPlatform (void)
 
FShaderLibraryInstanceFindShaderLibraryForShaderMap (const FSHAHash &Hash, int32 &OutShaderMapIndex)
 
FShaderLibraryInstanceFindShaderLibraryForShader (const FSHAHash &Hash, int32 &OutShaderIndex)
 
TRefCountPtr< FShaderMapResource_SharedCodeLoadResource (const FSHAHash &Hash, FArchive *Ar)
 
TRefCountPtr< FRHIShaderCreateShader (EShaderFrequency Frequency, const FSHAHash &Hash)
 
bool PreloadShader (const FSHAHash &Hash, FArchive *Ar)
 
bool ReleasePreloadedShader (const FSHAHash &Hash)
 
bool ContainsShaderCode (const FSHAHash &Hash)
 
bool ContainsShaderCode (const FSHAHash &Hash, const FString &LogicalLibraryName)
 
void PreloadPackageShaderMapsDelegate (TArrayView< const FSHAHash > ShaderMapHashes, FCoreDelegates::FAttachShaderReadRequestFunc AttachShaderReadRequestFunc)
 
void ReleasePreloadedPackageShaderMapsDelegate (TArrayView< const FSHAHash > ShaderMapHashes)
 
template<typename F >
void IterateNamedShaderLibrariesSafe (F &&Func)
 

Static Public Member Functions

static void DumpLibraryContentsStatic ()
 

Static Public Attributes

static FShaderLibrariesCollectionImpl = nullptr
 

Constructor & Destructor Documentation

◆ FShaderLibrariesCollection()

FShaderLibrariesCollection::FShaderLibrariesCollection ( EShaderPlatform  InShaderPlatform,
bool  bInNativeFormat 
)
inline

◆ ~FShaderLibrariesCollection()

FShaderLibrariesCollection::~FShaderLibrariesCollection ( )
inline

Member Function Documentation

◆ CloseLibrary()

void FShaderLibrariesCollection::CloseLibrary ( FString const &  Name)
inline

◆ ContainsShaderCode() [1/2]

bool FShaderLibrariesCollection::ContainsShaderCode ( const FSHAHash Hash)
inline

◆ ContainsShaderCode() [2/2]

bool FShaderLibrariesCollection::ContainsShaderCode ( const FSHAHash Hash,
const FString &  LogicalLibraryName 
)
inline

◆ CreateShader()

TRefCountPtr< FRHIShader > FShaderLibrariesCollection::CreateShader ( EShaderFrequency  Frequency,
const FSHAHash Hash 
)
inline

◆ DumpLibraryContents()

void FShaderLibrariesCollection::DumpLibraryContents ( )
inline

◆ DumpLibraryContentsStatic()

static void FShaderLibrariesCollection::DumpLibraryContentsStatic ( )
inlinestatic

◆ FindShaderLibraryForShader()

FShaderLibraryInstance * FShaderLibrariesCollection::FindShaderLibraryForShader ( const FSHAHash Hash,
int32 OutShaderIndex 
)
inline

◆ FindShaderLibraryForShaderMap()

FShaderLibraryInstance * FShaderLibrariesCollection::FindShaderLibraryForShaderMap ( const FSHAHash Hash,
int32 OutShaderMapIndex 
)
inline

◆ GatherShaderMapResourceReferences()

void FShaderLibrariesCollection::GatherShaderMapResourceReferences ( const FShaderMapResource_SharedCode InResource,
TArray< FString > &  OutLibrariesWithRefToResource 
)
inline

◆ GetRuntimeShaderPlatform()

EShaderPlatform FShaderLibrariesCollection::GetRuntimeShaderPlatform ( void  )
inline

◆ GetShaderCount()

uint32 FShaderLibrariesCollection::GetShaderCount ( void  )
inline

◆ IterateNamedShaderLibrariesSafe()

template<typename F >
void FShaderLibrariesCollection::IterateNamedShaderLibrariesSafe ( F &&  Func)
inline

◆ LoadResource()

TRefCountPtr< FShaderMapResource_SharedCode > FShaderLibrariesCollection::LoadResource ( const FSHAHash Hash,
FArchive Ar 
)
inline

◆ OnPakFileMounted()

void FShaderLibrariesCollection::OnPakFileMounted ( const UE::ShaderLibrary::Private::FMountedPakFileInfo MountInfo)
inline

◆ OpenLibrary()

bool FShaderLibrariesCollection::OpenLibrary ( FString const &  Name,
FString const &  Directory,
const bool  bMonolithicOnly = false 
)
inline

◆ PreloadPackageShaderMapsDelegate()

void FShaderLibrariesCollection::PreloadPackageShaderMapsDelegate ( TArrayView< const FSHAHash ShaderMapHashes,
FCoreDelegates::FAttachShaderReadRequestFunc  AttachShaderReadRequestFunc 
)
inline

◆ PreloadShader()

bool FShaderLibrariesCollection::PreloadShader ( const FSHAHash Hash,
FArchive Ar 
)
inline

◆ ReleasePreloadedPackageShaderMapsDelegate()

void FShaderLibrariesCollection::ReleasePreloadedPackageShaderMapsDelegate ( TArrayView< const FSHAHash ShaderMapHashes)
inline

◆ ReleasePreloadedShader()

bool FShaderLibrariesCollection::ReleasePreloadedShader ( const FSHAHash Hash)
inline

Member Data Documentation

◆ Impl

FShaderLibrariesCollection * FShaderLibrariesCollection::Impl = nullptr
static

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