UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::ShaderLibrary::Private::FNamedShaderLibrary Struct Reference

Public Member Functions

 FNamedShaderLibrary (const FString &InLogicalName, const EShaderPlatform InShaderPlatform, const FString &InBaseDirectory)
 
int32 GetNumComponents () const
 
void OnPakFileMounted (const FMountedPakFileInfo &MountInfo, const FString &Directory)
 
bool OpenShaderCode (const FString &ShaderCodeDir, FString const &Library)
 
FShaderLibraryInstanceFindShaderLibraryForShaderMap (const FSHAHash &Hash, int32 &OutShaderMapIndex)
 
FShaderLibraryInstanceFindShaderLibraryForShader (const FSHAHash &Hash, int32 &OutShaderIndex)
 
uint32 GetShaderCount ()
 
void DumpLibraryContents (const FString &Prefix)
 

Public Attributes

FString LogicalName
 
EShaderPlatform ShaderPlatform
 
FString BaseDirectory
 
TSet< int32PresentChunks
 
FRWLock ComponentsMutex
 
TArray< TUniquePtr< FShaderLibraryInstance > > Components
 

Constructor & Destructor Documentation

◆ FNamedShaderLibrary()

UE::ShaderLibrary::Private::FNamedShaderLibrary::FNamedShaderLibrary ( const FString &  InLogicalName,
const EShaderPlatform  InShaderPlatform,
const FString &  InBaseDirectory 
)
inline

Member Function Documentation

◆ DumpLibraryContents()

void UE::ShaderLibrary::Private::FNamedShaderLibrary::DumpLibraryContents ( const FString &  Prefix)

◆ FindShaderLibraryForShader()

FShaderLibraryInstance * UE::ShaderLibrary::Private::FNamedShaderLibrary::FindShaderLibraryForShader ( const FSHAHash Hash,
int32 OutShaderIndex 
)

◆ FindShaderLibraryForShaderMap()

FShaderLibraryInstance * UE::ShaderLibrary::Private::FNamedShaderLibrary::FindShaderLibraryForShaderMap ( const FSHAHash Hash,
int32 OutShaderMapIndex 
)

◆ GetNumComponents()

int32 UE::ShaderLibrary::Private::FNamedShaderLibrary::GetNumComponents ( ) const
inline

◆ GetShaderCount()

uint32 UE::ShaderLibrary::Private::FNamedShaderLibrary::GetShaderCount ( void  )

◆ OnPakFileMounted()

void UE::ShaderLibrary::Private::FNamedShaderLibrary::OnPakFileMounted ( const FMountedPakFileInfo MountInfo,
const FString &  Directory 
)
inline

◆ OpenShaderCode()

bool UE::ShaderLibrary::Private::FNamedShaderLibrary::OpenShaderCode ( const FString &  ShaderCodeDir,
FString const &  Library 
)

Member Data Documentation

◆ BaseDirectory

FString UE::ShaderLibrary::Private::FNamedShaderLibrary::BaseDirectory

Base directory for chunk 0

◆ Components

TArray<TUniquePtr<FShaderLibraryInstance> > UE::ShaderLibrary::Private::FNamedShaderLibrary::Components

Even putting aside chunking, each named library can be potentially comprised of multiple files

◆ ComponentsMutex

FRWLock UE::ShaderLibrary::Private::FNamedShaderLibrary::ComponentsMutex

Guards access to components

◆ LogicalName

FString UE::ShaderLibrary::Private::FNamedShaderLibrary::LogicalName

A name that is passed to Open/CloseLibrary, like "Global", "ShooterGame", "MyPlugin"

◆ PresentChunks

TSet<int32> UE::ShaderLibrary::Private::FNamedShaderLibrary::PresentChunks

Parts of the library corresponding to particular chunk Ids that we have found for this library. This is used so we don't try to open a library for the chunk more than once

◆ ShaderPlatform

EShaderPlatform UE::ShaderLibrary::Private::FNamedShaderLibrary::ShaderPlatform

Shader platform


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