description: Explicitly default assignment operator and copy constructor operator with warnings disabled to avoid warnings in implicitly-generated functions due to deprecation of RemoteServerData. These can be removed entirely (revert to implicitly-generated) when the field itself is.

code: FShaderCompilerEnvironment ( const [FShaderCompilerEnvironment](API\Runtime\RenderCore\FShaderCompilerEnvironment) & )


description: Used as a baseclass, make sure we're not incorrectly destroyed through a baseclass pointer This will be expensive to destroy anyway, additional vcall overhead should be small Temporarily disable deprecation warnings for this default destructor triggering due to the deprecated RemoteServerData field. When the field is removed warning disable should be as well, but the defaulted destructor should remain due to the above comment.

module: RenderCore


className: FShaderCompilerEnvironment

description: The environment used to compile a shader.

code: struct FShaderCompilerEnvironment

CompilerFlags

type: FShaderCompiler...

FullPrecisionInPS

type: bool

description: Used for mobile platforms to allow per shader/material precision modes.

IncludeVirtualPathToContentsMap

type: TMap<FString, ...

description: Map of the virtual file path -> content.

RenderTargetOutputFormatsMap

type: TMap< uint32, u...

ResourceTableMap

type: FShaderResource...

TargetPlatform

type: constITargetPl...


description: Extracts the file path and source line from StrippedErrorMessage to ErrorVirtualFilePath and ErrorLineString.

code: bool ExtractSourceLocation()


description: Returns the error message with source file and source line (if present).

code: [FString](API\Runtime\Core\Containers\FString) GetErrorString ( bool bOmitLineMarker ) const


description: Returns the error message with source file and source line (if present), as well as a line marker separated with a LINE_TERMINATOR.


description: Returns the path of the underlying source file relative to the process base dir.


description: Returns true if this error message has a marker string for the highlighted source line where the error occurred. Example: /Engine/Private/MySourceFile.usf(120): error: undeclared identifier 'a' float b = a; ^

code: bool HasLineMarker() const


code: FShaderCompilerError ( [FString](API\Runtime\Core\Containers\FString) && InStrippedErrorMessage )


code: FShaderCompilerError ( const TCHAR * InStrippedErrorMessage )


code: FShaderCompilerError ( [FString](API\Runtime\Core\Containers\FString) && InStrippedErrorMessage, [FString](API\Runtime\Core\Containers\FString) && InHighlightedLine, [FString](API\Runtime\Core\Containers\FString) && InHighlightedLineMarker )


code: FShaderCompilerError ( const TCHAR * InVirtualFilePath, const TCHAR * InLineString, const TCHAR * InStrippedErrorMessage )


className: FShaderCompilerError

description: A shader compiler error or warning.

code: struct FShaderCompilerError

ErrorLineString

type: FString


code: void Append ( const [FShaderCompilerFlags](API\Runtime\RenderCore\FShaderCompilerFlags) & In )


code: bool Contains ( uint32 InFlag ) const


code: void Iterate ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(uint32)> Callback ) const


code: FShaderCompilerFlags ( uint64 InData )


className: FShaderCompilerFlags

description: Simple wrapper for a uint64 bitfield; doesn't useTBitArrayas it is fixed size and doesn't need dynamic memory allocations.

code: class FShaderCompilerFlags


description: Returns whether this shader inputcanbe compiled with the legacy FXC compiler.

code: bool CanCompileWithLegacyFxc() const


code: void DeserializeSharedInputs ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), FThreadSafeSharedStringPtr > & ExternalIncludes, const [TArray](API\Runtime\Core\Containers\TArray)< [FShaderCompilerEnvironment](API\Runtime\RenderCore\FShaderCompilerEnvironment) > & SharedEnvironments, const [TArray](API\Runtime\Core\Containers\TArray)< [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) >> & ShaderParameterStructures )


code: bool DumpDebugInfoEnabled() const


code: void GatherSharedInputs ( [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [FString](API\Runtime\Core\Containers\FString) > & ExternalIncludes, [TArray](API\Runtime\Core\Containers\TArray)< [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FSharedShaderCompilerEnvironment](API\Runtime\RenderCore\FSharedShaderCompilerEnvironment) >> & SharedEnvironments, [TArray](API\Runtime\Core\Containers\TArray)< const [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) * > & ParametersStructures )


description: Generate human readable name for debugging


code: bool IsRayTracingShader() const


code: [FShaderCompilerInput](API\Runtime\RenderCore\FShaderCompilerInput) & operator= ( [FShaderCompilerInput](API\Runtime\RenderCore\FShaderCompilerInput) && )


code: [FShaderCompilerInput](API\Runtime\RenderCore\FShaderCompilerInput) & operator= ( const [FShaderCompilerInput](API\Runtime\RenderCore\FShaderCompilerInput) & )


code: void SerializeSharedInputs ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, const [TArray](API\Runtime\Core\Containers\TArray)< [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FSharedShaderCompilerEnvironment](API\Runtime\RenderCore\FSharedShaderCompilerEnvironment) >> & SharedEnvironments, const [TArray](API\Runtime\Core\Containers\TArray)< const [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) * > & ParametersStructures )


description: Explicitly-defaulted copy/move ctors & assignment operators are needed temporarily due to deprecation of bGenerateDirectCompileFile field. These can be removed once the deprecation window for said field ends.

code: PRAGMA_DISABLE_DEPRECATION_WARNINGS FShaderCompilerInput ( [FShaderCompilerInput](API\Runtime\RenderCore\FShaderCompilerInput) && )


code: FShaderCompilerInput ( const [FShaderCompilerInput](API\Runtime\RenderCore\FShaderCompilerInput) & )


className: FShaderCompilerInput

description: Struct that gathers all readonly inputs needed for the compilation of a single shader.

code: struct FShaderCompilerInput

bCachePreprocessed

description: True if the cache key for this job should be based on preprocessed source.

bCompilingForShaderPipeline

description: Shader pipeline information.

bIndependentPreprocessed

description: True if the backend for this job implements the independent preprocessing API.

bSkipPreprocessedCache

description: Skips the preprocessor and instead loads the usf file directly.

CompressionFormat

type: FName

DebugDescription

description: Description of the configuration used when compiling.

DebugGroupName

description: Materialname or "Global" "for debugging and better error messages

DebugInfoFlags

type: EShaderDebugInf...

description: Indicates which additional debug outputs should be written for this compile job.

DumpDebugInfoPath

description: Only used if enabled by r.DumpShaderDebugInfo (platform/groupname) e.g. ""

DumpDebugInfoRootPath

description: Dump debug path (up to platform) e.g. "D:/Project/Saved/ShaderDebugInfo/PCD3D_SM5".

Environment

description: Compilation Environment.

ExtraSettings

type: FExtraShaderCom...

description: Additional compilation settings that can be filled byFMaterial::SetupExtraCompilationSettingsFMaterial::SetupExtraCompilationSettingsis usually called by each (*)MaterialShaderType::BeginCompileShader() function

Hash

description: Hash of this input (used as the key for the shader job cache)

OodleCompressor

type: FOodleDataCompr...

description: Oodle-specific compression algorithm - used if CompressionFormat is set to NAME_Oodle.

OodleLevel

description: Oodle-specific compression level - used if CompressionFormat is set to NAME_Oodle.

RootParametersStructure

type: constFShaderPa...

description: The root of the shader parameter structures / uniform buffers bound to this shader to generate shader resource table from.

SharedEnvironment

type: TRefCountPtr<F...

Target

type: FShaderTarget

UsedOutputs

type: TArray<FString...


description: CallsGenerateOutputHash()before the compression, replacesFShaderCodewith the compressed data (if compression result was smaller).

code: void CompressOutput ( [FName](API\Runtime\Core\UObject\FName) ShaderCompressionFormat, [FOodleDataCompression::ECompressor](API\Runtime\Core\Compression\FOodleDataCompression__ECompress-) OodleCompressor, [FOodleDataCompression::ECompressionLevel](API\Runtime\Core\Compression\FOodleDataCompression__ECompress-_1) OodleLevel )


description: Generates OutputHash from the compiler output.

code: void GenerateOutputHash()


code: [FShaderCompilerOutput](API\Runtime\RenderCore\FShaderCompilerOutput) & operator= ( [FShaderCompilerOutput](API\Runtime\RenderCore\FShaderCompilerOutput) && )


code: [FShaderCompilerOutput](API\Runtime\RenderCore\FShaderCompilerOutput) & operator= ( const [FShaderCompilerOutput](API\Runtime\RenderCore\FShaderCompilerOutput) & )


description: Add optional data in ShaderCode to perform additional shader input validation at runtime

code: void SerializeShaderCodeValidation()


description: Explicitly-defaulted copy/move ctors & assignment operators are needed temporarily due to deprecation of bFailedRemovingUnused/bUsedHLSLccCompiler fields. These can be removed once the deprecation window for said fields ends.

code: PRAGMA_DISABLE_DEPRECATION_WARNINGS FShaderCompilerOutput ( [FShaderCompilerOutput](API\Runtime\RenderCore\FShaderCompilerOutput) && )


code: FShaderCompilerOutput ( const [FShaderCompilerOutput](API\Runtime\RenderCore\FShaderCompilerOutput) & )


className: FShaderCompilerOutput

description: The output of the shader compiler. Bump ShaderCompileWorkerOutputVersion ifFShaderCompilerOutputchanges

code: struct FShaderCompilerOutput

CompileTime

type: double

Errors

type: TArray<FShader...

ModifiedEntryPointName

description: Use this field to store the entry point name if it's modified as part of the shader format's compilation process.

ModifiedShaderSource

description: Use this field to store the shader source code if it's modified as part of the shader format's compilation process.

OptionalFinalShaderSource

description: This field should be set by backends which do not implement the independent preprocessing API to contain the "final" shader source as passed to the platform compiler.

OutputHash

type: FSHAHash

ParameterMap

type: FShaderParamete...

PlatformDebugData

type: TArray< uint8 >

ShaderCode

type: FShaderCode


code: FShaderCompilerResourceTable()


className: FShaderCompilerResourceTable

code: struct FShaderCompilerResourceTable

MaxBoundResourceTable

description: The max index of a uniform buffer from which resources are bound.

ResourceTableBits

description: Bits indicating which resource tables contain resources bound to this shader.

ResourceTableLayoutHashes

type: TArray< uint32 ...

description: Hash of the layouts of resource tables at compile time, used for runtime validation.

SamplerMap

description: Mapping of bound sampler states to their location in resource tables.

ShaderResourceViewMap

description: Mapping of bound SRVs to their location in resource tables.

TextureMap

description: Mapping of bound Textures to their location in resource tables.

UnorderedAccessViewMap

description: Mapping of bound UAVs to their location in resource tables.


className: FShaderDiagnosticRemapper

description: Helper class used to remap compiler diagnostic messages from stripped preprocessed source (i.e. source with all whitespace normalized and comments and line directives removed) back to line numbers/locations from the original source.

code: struct FShaderDiagnosticRemapper


className: FShaderGlobalDefines

code: struct FShaderGlobalDefines

type: bool

description: This is a sepcial one.

LegacyGBufferFormat

type: int


code: FShaderId ( const [FShaderType](API\Runtime\RenderCore\FShaderType) * InType, const [FSHAHash](API\Runtime\Core\Misc\FSHAHash) & InMaterialShaderMapHash, const [FHashedName](API\Runtime\Core\Serialization\FHashedName) & InShaderPipeline, const [FVertexFactoryType](API\Runtime\RenderCore\FVertexFactoryType) * InVertexFactoryType, int32 InPermutationId, EShaderPlatform InPlatform )


className: FShaderId

description: Uniquely identifies anFShaderinstance. Used to link FMaterialShaderMaps and FShaders on load.

code: class FShaderId

Platform

type: uint32:  SP_Num...

ShaderPipelineName

type: FHashedName

Type

type: constFShaderTy...

VFType

type: constFVertexFa...


code: FShaderKey ( const [FSHAHash](API\Runtime\Core\Misc\FSHAHash) & InMaterialShaderMapHash, const [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * InShaderPipeline, [FVertexFactoryType](API\Runtime\RenderCore\FVertexFactoryType) * InVertexFactoryType, int32 PermutationId, EShaderPlatform InPlatform )


className: FShaderKey

code: class FShaderKey

ShaderPipeline

type: constFShaderPi...

VertexFactoryType

type: FVertexFactoryT...


description: At cook time, add shader code to collection.

code: static bool AddShaderCode ( EShaderPlatform ShaderPlatform, const [FShaderMapResourceCode](API\Runtime\RenderCore\FShaderMapResourceCode) * Code, const FShaderMapAssetPaths & AssociatedAssets )


description: Called On the CookDirector to receive ShaderLibrary contents from a CookWorker

code: static bool AppendFromCompactBinary ( [FCbFieldView](API\Runtime\Core\Serialization\FCbFieldView) Field )


description: At cook time, add the human readable key value information.

code: static void AddShaderStableKeyValue ( EShaderPlatform ShaderPlatform, [FStableShaderKeyAndValue](API\Runtime\RenderCore\FStableShaderKeyAndValue) & StableKeyValue )


description:
This will place all added shaders & pipelines into the library file with this name.
true if successful

code: static bool BeginCookingLibrary ( [FString](API\Runtime\Core\Containers\FString) const & Name )


description: Clean the cook directories.

code: static void CleanDirectories ( [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > const & ShaderFormats )


description: Specify the shader formats to cook and which ones needs stable keys. Provide an array of FShaderFormatDescriptors.

code: static void CookShaderFormats ( [TArray](API\Runtime\Core\Containers\TArray)< [FShaderFormatDescriptor](API\Runtime\RenderCore\FShaderLibraryCooker\FShaderFormatDescriptor) > const & ShaderFormats )


description: Called from a CookWorker to send all contents of the ShaderLibrary to the CookDirector

code: static void CopyToCompactBinaryAndClear ( [FCbWriter](API\Runtime\Core\Serialization\FCbWriter) & Writer, bool & bOutHasData, bool & bOutRanOutOfRoom, int64 MaxShaderSize )


description: Create a smaller 'patch' library that only contains data from 'NewMetaDataDir' not contained in any of 'OldMetaDataDirs'.

code: static bool CreatePatchLibrary ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > const & OldMetaDataDirs, [FString](API\Runtime\Core\Containers\FString) const & NewMetaDataDir, [FString](API\Runtime\Core\Containers\FString) const & OutDir, bool bNativeFormat, bool bNeedsDeterministicOrder )


description: Dump collected stats for each shader platform.

code: static void DumpShaderCodeStats()


description: Close a named library. For cooking, after this point any AddShaderCode/AddShaderPipeline calls will be invalid until OpenLibrary is called again.

code: static void EndCookingLibrary ( [FString](API\Runtime\Core\Containers\FString) const & Name )


className: FShaderFormatDescriptor

code: struct FShaderFormatDescriptor

ShaderFormat

type: FName


description: Finishes collection of data that should be in the named code library. This includes loading data from a previous iterative cook.

code: static void FinishPopulateShaderLibrary ( const [ITargetPlatform](API\Developer\TargetPlatform\Interfaces\ITargetPlatform) * TargetPlatform, [FString](API\Runtime\Core\Containers\FString) const & Name, [FString](API\Runtime\Core\Containers\FString) const & SandboxDestinationPath, [FString](API\Runtime\Core\Containers\FString) const & SandboxMetadataPath )


description: Initialize the library cooker.

code: static void InitForCooking ( bool bNativeFormat )


description: Whether storing shaders in the shader library is enabled

code: static bool IsShaderLibraryEnabled()


description: We check this early in the callstack to avoid creating a bunch ofFNameand keys and things we will never save anyway. Pass the shader platform to check or EShaderPlatform::SP_NumPlatforms to check if any of the registered types require stable keys.

code: static bool NeedsShaderStableKeys ( EShaderPlatform ShaderPlatform )


description:
Saves a single chunk of the collected shader code (per shader platform). Does not save SCL.CSV info. This code path is only called if we're chunking. FIXME: this function does not write build metadata
true if successful

code: static bool SaveShaderLibraryChunk ( int32 ChunkId, const [TSet](API\Runtime\Core\Containers\TSet)< [FName](API\Runtime\Core\UObject\FName) > & InPackagesInChunk, const [ITargetPlatform](API\Developer\TargetPlatform\Interfaces\ITargetPlatform) * TargetPlatform, const [FString](API\Runtime\Core\Containers\FString) & SandboxDestinationPath, const [FString](API\Runtime\Core\Containers\FString) & SandboxMetadataPath, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutChunkFilenames, bool & bOutHasData )


description:
Saves collected shader code to a single file per shader platform When chunking is enabled, this call will not write the shader code, only the SCL.CSV file with the stable shader info.
true if successful

code: static bool SaveShaderLibraryWithoutChunking ( const [ITargetPlatform](API\Developer\TargetPlatform\Interfaces\ITargetPlatform) * TargetPlatform, [FString](API\Runtime\Core\Containers\FString) const & Name, [FString](API\Runtime\Core\Containers\FString) const & SandboxDestinationPath, [FString](API\Runtime\Core\Containers\FString) const & SandboxMetadataPath, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & PlatformSCLCSVPaths, [FString](API\Runtime\Core\Containers\FString) & OutErrorMessage, bool & bOutHasData )


description: Shutdown the library cooker.

code: static void Shutdown()


className: FShaderLibraryCooker

code: struct FShaderLibraryCooker


code: void ModifyEnvironment ( [FShaderCompilerEnvironment](API\Runtime\RenderCore\FShaderCompilerEnvironment) & OutEnvironment ) const


className: FShaderLightmapPropertyDefines

description: Maybe should rename this to VertexFactoryDefines?

code: struct FShaderLightmapPropertyDefines


className: CounterBase

code: static constexpr int CounterBase = __COUNTER__;


code: RENDERCORE_API const [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & GetTypeLayout() const


className: InterfaceType

code: static constexpr [ETypeLayoutInterface::Type](API\Runtime\Core\Serialization\ETypeLayoutInterface__Type) InterfaceType = ETypeLayoutInterface:: NonVirtual;


code: static void Initialize &40; FTypeLayoutDesc & TypeDesc &41;


code: template<> struct InternalLinkType< __COUNTER__-CounterBase >


className: InternalLinkType

description: InternalLinkType<COUNTER-CounterBase >

code: template<int Counter> struct InternalLinkType


code: bool operator== ( const [FShaderLooseParameterBufferInfo](API\Runtime\RenderCore\FShaderLooseParameterBufferInfo) & Rhs ) const


code: bool operator< ( const [FShaderLooseParameterBufferInfo](API\Runtime\RenderCore\FShaderLooseParameterBufferInfo) & Rhs ) const


code: static RENDERCORE_API [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & StaticGetTypeLayout()


code: FShaderLooseParameterBufferInfo()


code: FShaderLooseParameterBufferInfo ( uint16 InBufferIndex, uint16 InBufferSize )


className: FShaderLooseParameterBufferInfo

code: class FShaderLooseParameterBufferInfo

Parameters

type: TMemoryImageArr...


className: InternalBaseType

code: typedef typename [TGetBaseTypeHelper](API\Runtime\Core\Serialization\TGetBaseTypeHelper)< [FShaderLooseParameterInfo](API\Runtime\RenderCore\FShaderLooseParameterInfo) >::Type InternalBaseType


code: bool operator== ( const [FShaderLooseParameterInfo](API\Runtime\RenderCore\FShaderLooseParameterInfo) & Rhs ) const


code: bool operator< ( const [FShaderLooseParameterInfo](API\Runtime\RenderCore\FShaderLooseParameterInfo) & Rhs ) const


code: FShaderLooseParameterInfo ( uint16 InBaseIndex, uint16 InSize )


className: FShaderLooseParameterInfo

code: class FShaderLooseParameterInfo


code: void AssignContent ( [TMemoryImageObject](API\Runtime\Core\Serialization\TMemoryImageObject)< [FShaderMapContent](API\Runtime\RenderCore\FShaderMapContent) > InContent )


code: void AssignCopy ( const [FShaderMapBase](API\Runtime\RenderCore\FShaderMapBase) & Source )


description: Associates a shadermap with an asset (note: one shadermap can be used by several assets, e.g. MIs). This helps cooker lay out the shadermaps (and shaders) in the file open order, if provided. Maps not associated with any assets may be placed after all maps associated with known assets. Global shadermaps need to be associated with a "Global" asset

code: void AssociateWithAsset ( const [FName](API\Runtime\Core\UObject\FName) & AssetPath )


code: void AssociateWithAssets ( const FShaderMapAssetPaths & AssetPaths )


code: [FShaderMapPointerTable](API\Runtime\RenderCore\FShaderMapPointerTable) * CreatePointerTable() const


code: const FShaderMapAssetPaths & GetAssociatedAssets() const


code: const [FShaderMapContent](API\Runtime\RenderCore\FShaderMapContent) * GetContent() const


code: uint32 GetFrozenContentSize() const


code: const [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & GetContentTypeDesc() const


code: void GetOutdatedTypes ( [TArray](API\Runtime\Core\Containers\TArray)< const [FShaderType](API\Runtime\RenderCore\FShaderType) * > & OutdatedShaderTypes, [TArray](API\Runtime\Core\Containers\TArray)< const [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * > & OutdatedShaderPipelineTypes, [TArray](API\Runtime\Core\Containers\TArray)< const [FVertexFactoryType](API\Runtime\RenderCore\FVertexFactoryType) * > & OutdatedFactoryTypes ) const


code: const [FShaderMapPointerTable](API\Runtime\RenderCore\FShaderMapPointerTable) & GetPointerTable() const


code: [FShaderMapResource](API\Runtime\RenderCore\FShaderMapResource) * GetResource() const


code: [FShaderMapResource](API\Runtime\RenderCore\FShaderMapResource) * GetResourceChecked() const


code: virtual void PostFinalizeContent()


code: void SaveShaderStableKeys ( EShaderPlatform TargetShaderPlatform, const struct [FStableShaderKeyAndValue](API\Runtime\RenderCore\FStableShaderKeyAndValue) & SaveKeyVal )


code: bool Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, bool bInlineShaderResources, bool bLoadedByCookedMaterial, bool bInlineShaderCode )


className: FShaderMapBase

code: class FShaderMapBase


className: FShaderMapCompileResults

description: Results for a single compiled shader map.

code: struct FShaderMapCompileResults

FinishedJobs

type: TArray<TRefCou...

NumPendingJobs

type: FThreadSafeCoun...

TimeStarted

type: double


code: void AddShader ( const [FHashedName](API\Runtime\Core\Serialization\FHashedName) & TypeName, int32 PermutationId, [FShader](API\Runtime\RenderCore\FShader) * Shader )


code: void AddShaderPipeline ( [FShaderPipeline](API\Runtime\RenderCore\FShaderPipeline) * Pipeline )


description: Clears out all shaders and deletes shader pipelines held in the map

code: void Empty()


code: void Finalize ( const [FShaderMapResourceCode](API\Runtime\RenderCore\FShaderMapResourceCode) * Code )


code: [FShader](API\Runtime\RenderCore\FShader) * FindOrAddShader ( const [FHashedName](API\Runtime\Core\Serialization\FHashedName) & TypeName, int32 PermutationId, [FShader](API\Runtime\RenderCore\FShader) * Shader )


code: static constexpr int CounterBase = __COUNTER__;


code: [FShaderPipeline](API\Runtime\RenderCore\FShaderPipeline) * FindOrAddShaderPipeline ( [FShaderPipeline](API\Runtime\RenderCore\FShaderPipeline) * Pipeline )


className: FMemoryImageHashTable

code: typedef [THashTable](API\Runtime\Core\Containers\THashTable)< FMemoryImageAllocator > FMemoryImageHashTable


code: FHashedName operator&40;&41; &40; const FShaderPipeline &42; InShaderPipeline &41;


className: FProjectShaderPipelineToKey

code: struct FProjectShaderPipelineToKey


code: uint32 GetMaxNumInstructionsForShader ( const [FShaderMapBase](API\Runtime\RenderCore\FShaderMapBase) & InShaderMap, [FShaderType](API\Runtime\RenderCore\FShaderType) * ShaderType ) const


description: The number of shader pipelines in the map.

code: uint32 GetNumShaderPipelines() const


code: uint32 GetMaxTextureSamplersShaderMap ( const [FShaderMapBase](API\Runtime\RenderCore\FShaderMapBase) & InShaderMap ) const


description: The number of shaders in the map.

code: uint32 GetNumShaders() const


code: void GetOutdatedTypes ( const [FShaderMapBase](API\Runtime\RenderCore\FShaderMapBase) & InShaderMap, [TArray](API\Runtime\Core\Containers\TArray)< const [FShaderType](API\Runtime\RenderCore\FShaderType) * > & OutdatedShaderTypes, [TArray](API\Runtime\Core\Containers\TArray)< const [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * > & OutdatedShaderPipelineTypes, [TArray](API\Runtime\Core\Containers\TArray)< const [FVertexFactoryType](API\Runtime\RenderCore\FVertexFactoryType) * > & OutdatedFactoryTypes ) const


description: Finds the shader with the given type. Asserts on failure.

code: template<typename ShaderType> ShaderType * GetShader ( int32 PermutationId ) const


code: template<typename ShaderType> ShaderType * GetShader ( const typename ShaderType::FPermutationDomain & PermutationVector ) const


description: Finds the shader with the given type. May return NULL.

code: [FShader](API\Runtime\RenderCore\FShader) * GetShader ( const [FShaderType](API\Runtime\RenderCore\FShaderType) * ShaderType, int32 PermutationId ) const


description: Finds the shader with the given type name. May return NULL.

code: [FShader](API\Runtime\RenderCore\FShader) * GetShader ( const [FHashedName](API\Runtime\Core\Serialization\FHashedName) & TypeName, int32 PermutationId ) const


description: Builds a list of the shaders in a shader map. Key is FShaderType::TypeName

code: void GetShaderList ( const [FShaderMapBase](API\Runtime\RenderCore\FShaderMapBase) & InShaderMap, [TMap](API\Runtime\Core\Containers\TMap)< [FHashedName](API\Runtime\Core\Serialization\FHashedName), TShaderRef< [FShader](API\Runtime\RenderCore\FShader) >> & OutShaders ) const


description: Builds a list of the shaders in a shader map.

code: void GetShaderList ( const [FShaderMapBase](API\Runtime\RenderCore\FShaderMapBase) & InShaderMap, const [FSHAHash](API\Runtime\Core\Misc\FSHAHash) & InMaterialShaderMapHash, [TMap](API\Runtime\Core\Containers\TMap)< [FShaderId](API\Runtime\RenderCore\FShaderId), TShaderRef< [FShader](API\Runtime\RenderCore\FShader) >> & OutShaders ) const


code: [FShaderPipeline](API\Runtime\RenderCore\FShaderPipeline) * GetShaderPipeline ( const [FHashedName](API\Runtime\Core\Serialization\FHashedName) & PipelineTypeName ) const


description: Builds a list of the shader pipelines in a shader map.

code: void GetShaderPipelineList ( const [FShaderMapBase](API\Runtime\RenderCore\FShaderMapBase) & InShaderMap, [TArray](API\Runtime\Core\Containers\TArray)< [FShaderPipelineRef](API\Runtime\RenderCore\FShaderPipelineRef) > & OutShaderPipelines, [FShaderPipeline::EFilter](API\Runtime\RenderCore\FShaderPipeline\EFilter) Filter ) const


code: [FShaderPipeline](API\Runtime\RenderCore\FShaderPipeline) * GetShaderPipeline ( const [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * PipelineType ) const


code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [TMemoryImagePtr](API\Runtime\Core\Serialization\TMemoryImagePtr)< [FShaderPipeline](API\Runtime\RenderCore\FShaderPipeline) > > GetShaderPipelines() const


code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [TMemoryImagePtr](API\Runtime\Core\Serialization\TMemoryImagePtr)< [FShader](API\Runtime\RenderCore\FShader) > > GetShaders() const


code: RENDERCORE_API const [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & GetTypeLayout() const


description: Finds the shader with the given type.

code: bool HasShader ( const [FHashedName](API\Runtime\Core\Serialization\FHashedName) & TypeName, int32 PermutationId ) const


code: bool HasShader ( const [FShaderType](API\Runtime\RenderCore\FShaderType) * Type, int32 PermutationId ) const


code: bool HasShaderPipeline ( const [FHashedName](API\Runtime\Core\Serialization\FHashedName) & PipelineTypeName ) const


code: bool HasShaderPipeline ( const [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * PipelineType ) const


code: static constexpr [ETypeLayoutInterface::Type](API\Runtime\Core\Serialization\ETypeLayoutInterface__Type) InterfaceType = ETypeLayoutInterface:: NonVirtual;


code: typedef typename [TGetBaseTypeHelper](API\Runtime\Core\Serialization\TGetBaseTypeHelper)< [FShaderMapContent](API\Runtime\RenderCore\FShaderMapContent) >::Type InternalBaseType


code: static void Initialize &40; FTypeLayoutDesc & TypeDesc &41;


code: template<> struct InternalLinkType< __COUNTER__-CounterBase >


description: true if the map is empty

code: bool IsEmpty() const


description: InternalLinkType<COUNTER-CounterBase >

code: template<int Counter> struct InternalLinkType


description: Removes the shader of the given type from the shader map

code: void RemoveShaderTypePermutaion ( const [FHashedName](API\Runtime\Core\Serialization\FHashedName) & TypeName, int32 PermutationId )


code: void RemoveShaderPipelineType ( const [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * ShaderPipelineType )


code: void RemoveShaderTypePermutaion ( const [FShaderType](API\Runtime\RenderCore\FShaderType) * Type, int32 PermutationId )


code: void SaveShaderStableKeys ( const [FShaderMapBase](API\Runtime\RenderCore\FShaderMapBase) & InShaderMap, EShaderPlatform TargetShaderPlatform, const struct [FStableShaderKeyAndValue](API\Runtime\RenderCore\FStableShaderKeyAndValue) & SaveKeyVal )


code: static RENDERCORE_API [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & StaticGetTypeLayout()


code: void UpdateHash ( [FSHA1](API\Runtime\Core\Misc\FSHA1) & Hasher ) const


description: Destructor ensures pipelines cleared up.

code: ~FShaderMapContent()


className: FShaderMapEntry

code: struct FShaderMapEntry


className: FShaderMapContent

description: A collection of shaders of different types

code: class FShaderMapContent

ShaderHash

type: FMemoryImageHas...

ShaderPlatformName

type: FMemoryImageNam...

description: The ShaderPlatform Name this shader map was compiled with


code: virtual int32 AddIndexedPointer ( const [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & TypeDesc, void * Ptr )


code: virtual [FShaderMapPointerTable](API\Runtime\RenderCore\FShaderMapPointerTable) * Clone() const


code: virtual void * GetIndexedPointer ( const [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & TypeDesc, uint32 i ) const


code: virtual bool LoadFromArchive ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, const [FPlatformTypeLayoutParameters](API\Runtime\Core\Serialization\FPlatformTypeLayoutParameters) & LayoutParams, void * FrozenObject )


code: virtual void SaveToArchive ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, const [FPlatformTypeLayoutParameters](API\Runtime\Core\Serialization\FPlatformTypeLayoutParameters) & LayoutParams, const void * FrozenObject ) const


code: void Validate ( const [FShaderMapBase](API\Runtime\RenderCore\FShaderMapBase) & InShaderMap ) const


code: static bool ArePlatformsCompatible ( EShaderPlatform CurrentPlatform, EShaderPlatform TargetPlatform )


description: Default constructor.

code: FShaderMapContent ( EShaderPlatform InPlatform )


description: Creates RHI shader, with a reference (so the caller can release). Never returns nullptr (inability to create is Fatal)

code: [FRHIShader](API\Runtime\RHI\FRHIShader) * CreateRHIShaderOrCrash ( int32 ShaderIndex )


code: SIZE_T GetAllocatedSize() const


className: FShaderMapPointerTable

code: class FShaderMapPointerTable : public [FPointerTableBase](API\Runtime\Core\Serialization\FPointerTableBase)

ShaderTypes

type: TPtrTable<FSha...

VFTypes

type: TPtrTable<FVer...


code: EShaderPlatform GetPlatform() const


code: [FRHIShader](API\Runtime\RHI\FRHIShader) * GetShader ( int32 ShaderIndex )


description: Return shader hash for a particular shader without creating it.

code: [FSHAHash](API\Runtime\Core\Misc\FSHAHash) GetShaderHash ( int32 ShaderIndex )


code: bool HasShader ( int32 ShaderIndex ) const


code: bool IsValidShaderIndex ( int32 ShaderIndex ) const


description: Signal the shader library that it can release compressed shader code for a shader that it keeps preloaded in memory.

code: virtual void ReleasePreloadedShaderCode ( int32 ShaderIndex )


description: Releases the RHI resources used by this resource. Called when leaving the state where both the resource and the RHI have been initialized. This is only called by the rendering thread.

code: virtual void ReleaseRHI()


code: FShaderMapResource ( EShaderPlatform InPlatform, int32 NumShaders )


className: FShaderMapResource

code: class FShaderMapResource : public [FRenderResource](API\Runtime\RenderCore\FRenderResource), public [FDeferredCleanupInterface](API\Runtime\RenderCore\FDeferredCleanupInterface)


code: void AddShaderCompilerOutput ( const [FShaderCompilerOutput](API\Runtime\RenderCore\FShaderCompilerOutput) & Output, const [FString](API\Runtime\Core\Containers\FString) & DebugName )


code: void AddEditorOnlyData ( int32 Index, const [FString](API\Runtime\Core\Containers\FString) & DebugName, TConstArrayView< uint8 > InPlatformDebugData, TConstArrayView< [FShaderCompilerError](API\Runtime\RenderCore\FShaderCompilerError) > InCompilerWarnings )


code: void AppendWarningsToEditorOnlyData ( int32 Index, const [FString](API\Runtime\Core\Containers\FString) & DebugName, TConstArrayView< [FShaderCompilerError](API\Runtime\RenderCore\FShaderCompilerError) > InCompilerWarnings )


code: int32 FindShaderIndex ( const [FSHAHash](API\Runtime\Core\Misc\FSHAHash) & InHash ) const


className: FShaderEditorOnlyDataEntry

code: struct FShaderEditorOnlyDataEntry

CompilerWarnings

type: TArray<FString...

description: A (deduplicated/sorted) array of all the compiler warnings that were emitted when all shaders resulting in the associated bytecode were compiled (i.e. if multiple shader sources have warnings but compile to the same code, all warnings for each unique source will be reported).

PlatformDebugData

type: TArray< uint8 >


className: FShaderEntry

code: struct FShaderEntry

Frequency

type: EShaderFrequenc...


code: void LogShaderCompilerWarnings()


code: void NotifyShadersCompiled ( [FName](API\Runtime\Core\UObject\FName) FormatName )


code: void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, bool bLoadedByCookedMaterial )


code: void ToString ( FStringBuilderBase & OutString ) const


code: FShaderMapResourceCode ( const [FShaderMapResourceCode](API\Runtime\RenderCore\FShaderMapResourceCode) & Other )


code: virtual [FRHIShader](API\Runtime\RHI\FRHIShader) * CreateRHIShaderOrCrash ( int32 ShaderIndex )


className: FShaderMapResourceCode

code: class FShaderMapResourceCode : public [FThreadSafeRefCountedObject](API\Runtime\Core\Templates\FThreadSafeRefCountedObject)

ResourceHash

type: FSHAHash

description: A hash describing the total contents of *this.

ShaderEditorOnlyDataEntries

type: TArray<FShader...

description: Optional array of editor-only data indexed in the same order as ShaderEntries (sorted by the shader hash) Empty in the cases where the editor-only data is not serialized.

ShaderHashes

type: TArray<FSHAHas...


code: virtual [FSHAHash](API\Runtime\Core\Misc\FSHAHash) GetShaderHash ( int32 ShaderIndex )


code: virtual uint32 GetSizeBytes() const


code: FShaderMapResource_InlineCode ( EShaderPlatform InPlatform, [FShaderMapResourceCode](API\Runtime\RenderCore\FShaderMapResourceCode) * InCode )


code: class FShaderMapResource_InlineCode : public [FShaderMapResource](API\Runtime\RenderCore\FShaderMapResource)

Code

type: TRefCountPtr<F...


className: FShaderMaterialDerivedDefines

code: struct FShaderMaterialDerivedDefines

type: bool

description: Based on GetPrecomputedShadowMasks() Note: WRITES_PRECSHADOWFACTOR_TO_GBUFFER is currently disabled because we use the precomputed shadow factor GBuffer outside of STATICLIGHTING_TEXTUREMASK to store UseSingleSampleShadowFromStationaryLights

description: Volumetric fog interpolated per vertex gives very poor results, always sample the volumetric fog texture per-pixel Opaque materials in the deferred renderer get volumetric fog applied in a deferred fog pass

description: With forward shading, fog always needs to be computed in the base pass to work correctly with MSAA.

description: If a primitive has static lighting, we assume it is not moving. If it is, it will be rerendered in an extra renderpass.

description: Translucent materials need to compute fogging in the forward shading pass Materials that read from scene color skip getting fogged, because the contents of the scene color lookup have already been fogged This is not foolproof, as any additional color the material adds will then not be fogged correctly

description: Only some shader models actually need custom data.


code: void Bind ( const [FShaderParameterMap](API\Runtime\RenderCore\FShaderParameterMap) & ParameterMap, const TCHAR * ParameterName, EShaderParameterFlags Flags )


className: FShaderMaterialPropertyDefines

code: struct FShaderMaterialPropertyDefines

bAllowDevelopmentShaderCompile

type: uint8:  1

description: New ones

description: Void ModifyEnvironment(FShaderCompilerEnvironment& OutEnvironment) const; void WriteFrozenVertexFactoryParameters(FMemoryImageWriter& Writer, const TMemoryImagePtr& InPropDefines) const;


className: CounterBase

code: static constexpr int CounterBase = __COUNTER__;


code: RENDERCORE_API const [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & GetTypeLayout() const


className: InterfaceType

code: static constexpr [ETypeLayoutInterface::Type](API\Runtime\Core\Serialization\ETypeLayoutInterface__Type) InterfaceType = ETypeLayoutInterface:: NonVirtual;


className: InternalBaseType

code: typedef typename [TGetBaseTypeHelper](API\Runtime\Core\Serialization\TGetBaseTypeHelper)< [FShaderParameter](API\Runtime\RenderCore\FShaderParameter) >::Type InternalBaseType


code: static void Initialize &40; FTypeLayoutDesc & TypeDesc &41;


className: InternalLinkType

description: InternalLinkType<COUNTER-CounterBase >

code: template<int Counter> struct InternalLinkType


description: Initialize(FTypeLayoutDesc& TypeDesc)

code: template<> struct InternalLinkType< COUNTER-CounterBase >


code: static RENDERCORE_API [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & StaticGetTypeLayout()


className: FShaderParameter

description: A shader parameter's register binding. e.g. float1/2/3/4, can be an array, UAV

code: class FShaderParameter


code: void BindForRootShaderParameters ( const [FShader](API\Runtime\RenderCore\FShader) * Shader, int32 PermutationId, const [FShaderParameterMap](API\Runtime\RenderCore\FShaderParameterMap) & ParameterMaps )


code: void BindForLegacyShaderParameters ( const [FShader](API\Runtime\RenderCore\FShader) * Shader, int32 PermutationId, const [FShaderParameterMap](API\Runtime\RenderCore\FShaderParameterMap) & ParameterMaps, const [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) & StructMetaData, bool bShouldBindEverything )


code: static CounterBase = COUNTER;


code: const FTypeLayoutDesc & GetTypeLayout&40;&41; const


code: static InterfaceType = ETypeLayoutInterface:: NonVirtual;


code: typedef typename TGetBaseTypeHelper< FBindlessResourceParameter >::Type InternalBaseType


description: Initialize(FTypeLayoutDesc& TypeDesc)


className: FBindlessResourceParameter

code: struct FBindlessResourceParameter

BaseType

type: EUniformBufferB...


code: static FTypeLayoutDesc & StaticGetTypeLayout&40;&41;


className: DerivedType

code: typedef FParameter DerivedType


code: typedef typename TGetBaseTypeHelper< FParameter >::Type InternalBaseType


code: typedef typename TGetBaseTypeHelper< FParameterStructReference >::Type InternalBaseType


className: FParameterStructReference

code: struct FParameterStructReference


code: typedef FResourceParameter DerivedType


code: typedef typename TGetBaseTypeHelper< FResourceParameter >::Type InternalBaseType


code: static void Initialize &40; FTypeLayoutDesc & TypeDesc &41;


description: Initialize(FTypeLayoutDesc& TypeDesc)

code: template<> struct InternalLinkType< COUNTER-CounterBase >


className: FResourceParameter

code: struct FResourceParameter


code: RENDERCORE_API const [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & GetTypeLayout() const


code: static constexpr [ETypeLayoutInterface::Type](API\Runtime\Core\Serialization\ETypeLayoutInterface__Type) InterfaceType = ETypeLayoutInterface:: NonVirtual;


code: typedef typename [TGetBaseTypeHelper](API\Runtime\Core\Serialization\TGetBaseTypeHelper)< [FShaderParameterBindings](API\Runtime\RenderCore\FShaderParameterBindings) >::Type InternalBaseType


code: template<> struct InternalLinkType< __COUNTER__-CounterBase >


description: InternalLinkType<COUNTER-CounterBase >

code: template<int Counter> struct InternalLinkType


className: kInvalidBufferIndex

code: static constexpr uint16 kInvalidBufferIndex = 0xFFFF;


code: static RENDERCORE_API [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & StaticGetTypeLayout()


className: FShaderParameterBindings

description: Stores all shader parameter bindings and their corresponding offset and size in the shader's parameters struct.

code: class FShaderParameterBindings

BindlessResourceParameters

type: TMemoryImageArr...

RootParameterBufferIndex

description: Buffer index of FShaderParametersMetadata::kRootUniformBufferBindingName.

StructureLayoutHash

description: Hash of the shader parameter structure when doing the binding.


code: void AddParameterAllocation ( const TCHAR * ParameterName, uint16 BufferIndex, uint16 BaseIndex, uint16 Size, EShaderParameterType ParameterType )


code: bool ContainsParameterAllocation ( const TCHAR * ParameterName ) const


code: [TOptional](API\Runtime\Core\IO\TOptional)< [FParameterAllocation](API\Runtime\RenderCore\FParameterAllocation) > FindParameterAllocation ( const [FString](API\Runtime\Core\Containers\FString) & ParameterName ) const


code: bool FindParameterAllocation ( const TCHAR * ParameterName, uint16 & OutBufferIndex, uint16 & OutBaseIndex, uint16 & OutSize ) const


code: const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [FParameterAllocation](API\Runtime\RenderCore\FParameterAllocation) > & GetParameterMap() const


description: Returns an array of all parameters with the given type.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > GetAllParameterNamesOfType ( EShaderParameterType InType ) const


code: void RemoveParameterAllocation ( const TCHAR * ParameterName )


description: Updates the hash state with the contents of this parameter map.

code: void UpdateHash ( [FSHA1](API\Runtime\Core\Misc\FSHA1) & HashState ) const


description: Checks that all parameters are bound and asserts if any aren't in a debug build

code: void VerifyBindingsAreComplete ( const TCHAR * ShaderTypeName, [FShaderTarget](API\Runtime\RenderCore\FShaderTarget) Target, const class [FVertexFactoryType](API\Runtime\RenderCore\FVertexFactoryType) * InVertexFactoryType ) const


className: FShaderParameterMap

description: A map of shader parameter names to registers allocated to that parameter.

code: class FShaderParameterMap

ParameterMap

type: TMap<FString, ...


code: void GetAllParameterNames ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutNames ) const


code: static constexpr int CounterBase = __COUNTER__;


code: static constexpr [ETypeLayoutInterface::Type](API\Runtime\Core\Serialization\ETypeLayoutInterface__Type) InterfaceType = ETypeLayoutInterface:: NonVirtual;


code: typedef typename [TGetBaseTypeHelper](API\Runtime\Core\Serialization\TGetBaseTypeHelper)< [FShaderParameterMapInfo](API\Runtime\RenderCore\FShaderParameterMapInfo) >::Type InternalBaseType


code: RENDERCORE_API const [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & GetTypeLayout() const


code: static void Initialize &40; FTypeLayoutDesc & TypeDesc &41;


code: template<> struct InternalLinkType< __COUNTER__-CounterBase >


description: InternalLinkType<COUNTER-CounterBase >

code: template<int Counter> struct InternalLinkType


code: bool operator== ( const [FShaderParameterMapInfo](API\Runtime\RenderCore\FShaderParameterMapInfo) & Rhs ) const


code: static RENDERCORE_API [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & StaticGetTypeLayout()


className: FShaderParameterMapInfo

code: class FShaderParameterMapInfo


code: void ExtractFileAndLine ( int32 PragamLineoffset, int32 LineOffset, [FString](API\Runtime\Core\Containers\FString) & OutFile, [FString](API\Runtime\Core\Containers\FString) & OutLine ) const


description: Converts parsed parameters into their bindless forms.

code: void ApplyBindlessModifications ( [FString](API\Runtime\Core\Containers\FString) & PreprocessedShaderSource )


description: Returns whether the shader parameter has been found when parsing.

code: bool IsFound&40;&41; const


description: Gets parsing information from a parameter binding name.

code: const [FParsedShaderParameter](API\Runtime\RenderCore\FShaderParameterParser\FParsedShaderParameter) & FindParameterInfos ( const [FString](API\Runtime\Core\Containers\FString) & ParameterName ) const


className: FParsedShaderParameter

code: struct FParsedShaderParameter

BaseType

type: TEnumAsByte< EU...

description: Original information about the member.

BindlessConversionType

type: EBindlessConver...

ConstantBufferOffset

description: View intoFShaderParameterParser::OriginalParsedShaderOffset the member should be in the constant buffer.

ConstantBufferParameterType

type: EShaderParamete...

ParsedArraySize

type: FStringView

ParsedCharOffsetStart

description: Character position of the start and end of the parameter decelaration in FParsedShaderParameter::OriginalParsedShader

ParsedName

description: Information found about the member when parsing the preprocessed code.

PrecisionModifier

type: TEnumAsByte<ES...


description: Generates shader source code to declare a bindless resource or sampler (for automatic bindless conversion). May be overriden to allow custom implementations for different platforms.

code: virtual [FString](API\Runtime\Core\Containers\FString) GenerateBindlessParameterDeclaration ( const [FParsedShaderParameter](API\Runtime\RenderCore\FShaderParameterParser\FParsedShaderParameter) & ParsedParameter ) const


description: Gets file and line of the parameter in the shader source code.

code: void GetParameterFileAndLine ( const [FParsedShaderParameter](API\Runtime\RenderCore\FShaderParameterParser\FParsedShaderParameter) & ParsedParameter, [FString](API\Runtime\Core\Containers\FString) & OutFile, [FString](API\Runtime\Core\Containers\FString) & OutLine ) const


className: kBindlessResourcePrefix

code: static constexpr const TCHAR * kBindlessResourcePrefix = TEXT("BindlessResource_");


className: kBindlessSamplerPrefix

code: static constexpr const TCHAR * kBindlessSamplerPrefix = TEXT("BindlessSampler_");


description: Moves parsed parameters into the root constant buffer.

code: bool MoveShaderParametersToRootConstantBuffer ( const [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) * RootParametersStructure, [FString](API\Runtime\Core\Containers\FString) & PreprocessedShaderSource )


code: [FShaderParameterParser](API\Runtime\RenderCore\FShaderParameterParser) & operator= ( [FShaderParameterParser](API\Runtime\RenderCore\FShaderParameterParser) && )


description: Parses the preprocessed shader code and applies the necessary modifications to it.

code: bool ParseAndModify ( const [FShaderCompilerInput](API\Runtime\RenderCore\FShaderCompilerInput) & CompilerInput, [FShaderCompilerOutput](API\Runtime\RenderCore\FShaderCompilerOutput) & CompilerOutput, [FString](API\Runtime\Core\Containers\FString) & PreprocessedShaderSource )


code: bool ParseAndModify ( const [FShaderCompilerInput](API\Runtime\RenderCore\FShaderCompilerInput) & CompilerInput, [TArray](API\Runtime\Core\Containers\TArray)< [FShaderCompilerError](API\Runtime\RenderCore\FShaderCompilerError) > & OutErrors, [FString](API\Runtime\Core\Containers\FString) & PreprocessedShaderSource )


description: Deprecated* ParseAndModify doesn't need ConstantBufferType anymore

code: bool ParseAndModify ( const [FShaderCompilerInput](API\Runtime\RenderCore\FShaderCompilerInput) & CompilerInput, [FShaderCompilerOutput](API\Runtime\RenderCore\FShaderCompilerOutput) & CompilerOutput, [FString](API\Runtime\Core\Containers\FString) & PreprocessedShaderSource, const TCHAR * InConstantBufferType )


code: static EShaderParameterType ParseAndRemoveBindlessParameterPrefix ( FStringView & InName )


code: static EShaderParameterType ParseAndRemoveBindlessParameterPrefix ( [FString](API\Runtime\Core\Containers\FString) & InName )


description: Parses the preprocessed shader code

code: bool ParseParameters ( const [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) * RootParametersStructure, [TArray](API\Runtime\Core\Containers\TArray)< [FShaderCompilerError](API\Runtime\RenderCore\FShaderCompilerError) > & OutErrors )


code: static EShaderParameterType ParseParameterType ( FStringView InType, TConstArrayView< const TCHAR * > InExtraSRVTypes, TConstArrayView< const TCHAR * > InExtraUAVTypes )


code: static bool RemoveBindlessParameterPrefix ( [FString](API\Runtime\Core\Containers\FString) & InName )


code: void RemoveMovingParametersFromSource ( [FString](API\Runtime\Core\Containers\FString) & PreprocessedShaderSource )


code: void ValidateShaderParameterType ( const [FShaderCompilerInput](API\Runtime\RenderCore\FShaderCompilerInput) & CompilerInput, const [FString](API\Runtime\Core\Containers\FString) & ShaderBindingName, int32 ReflectionOffset, int32 ReflectionSize, [FShaderCompilerOutput](API\Runtime\RenderCore\FShaderCompilerOutput) & CompilerOutput ) const


description: Validates the shader parameter in code is compatible with the shader parameter structure.

code: void ValidateShaderParameterType ( const [FShaderCompilerInput](API\Runtime\RenderCore\FShaderCompilerInput) & CompilerInput, const [FString](API\Runtime\Core\Containers\FString) & ShaderBindingName, int32 ReflectionOffset, int32 ReflectionSize, bool bPlatformSupportsPrecisionModifier, [FShaderCompilerOutput](API\Runtime\RenderCore\FShaderCompilerOutput) & CompilerOutput ) const


code: void ValidateShaderParameterTypes ( const [FShaderCompilerInput](API\Runtime\RenderCore\FShaderCompilerInput) & CompilerInput, [FShaderCompilerOutput](API\Runtime\RenderCore\FShaderCompilerOutput) & CompilerOutput ) const


description: Validates shader parameter map is compatible with the shader parameter structure.

code: void ValidateShaderParameterTypes ( const [FShaderCompilerInput](API\Runtime\RenderCore\FShaderCompilerInput) & CompilerInput, bool bPlatformSupportsPrecisionModifier, [FShaderCompilerOutput](API\Runtime\RenderCore\FShaderCompilerOutput) & CompilerOutput ) const


description: Deprecated* UseFShaderParameterParserconstructor which acceptsFShaderCompilerFlags

code: FShaderParameterParser ( const TCHAR * InConstantBufferType )


code: FShaderParameterParser ( const TCHAR * InConstantBufferType, TConstArrayView< const TCHAR * > InExtraSRVTypes, TConstArrayView< const TCHAR * > InExtraUAVTypes )


code: FShaderParameterParser ( [FShaderCompilerFlags](API\Runtime\RenderCore\FShaderCompilerFlags) CompilerFlags, const TCHAR * InConstantBufferType, TConstArrayView< const TCHAR * > InExtraSRVTypes, TConstArrayView< const TCHAR * > InExtraUAVTypes )


code: virtual ~FShaderParameterParser()


className: FShaderParameterParser

description: Validates and moves all the shader loose data parameter defined in the root scope of the shader into the root uniform buffer.

code: class FShaderParameterParser

description: Indicates that parameters were actually moved to the root constant buffer.

bNeedToMoveToRootConstantBuffer

description: Indicates that parameters should be moved to the root cosntant buffer.

ConstantBufferType

type: const TCHAR ...

ExtraSRVTypes

type: TConstArrayView...

OriginalParsedShader

type: FString


code: void AddResourceTableEntries ( [FShaderResourceTableMap](API\Runtime\RenderCore\FShaderResourceTableMap) & ResourceTableMap, [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [FUniformBufferEntry](API\Runtime\RenderCore\FUniformBufferEntry) > & UniformBufferMap ) const


description: Deprecated* Resource table entries are now stored inFShaderResourceTableMap, rather than aTMap.

code: PRAGMA_DISABLE_DEPRECATION_WARNINGSvoid AddResourceTableEntries ( [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), FResourceTableEntry > & ResourceTableMap, [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [FUniformBufferEntry](API\Runtime\RenderCore\FUniformBufferEntry) > & UniformBufferMap ) const


className: EUsageFlags

description: Additional flags that can be used to determine usage

code: enum EUsageFlags { None = 0, NoEmulatedUniformBuffer = 1 << 0, }


className: EUseCase

description: The use case of the uniform buffer structures.

code: enum EUseCase { ShaderParameterStruct, UniformBuffer, DataDrivenUniformBuffer, }


description: Find a member for a given offset.

code: void FindMemberFromOffset ( uint16 MemberOffset, const [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) ** OutContainingStruct, const [FShaderParametersMetadata::FMember](API\Runtime\RenderCore\FShaderParametersMetadata\FMember) ** OutMember, int32 * ArrayElementId, [FString](API\Runtime\Core\Containers\FString) * NamePrefix ) const


code: void GenerateShaderParameterType &40; FString & Result, bool bSupportsPrecisionModifier &41; const


code: void GenerateShaderParameterType &40; FString & Result, EShaderPlatform ShaderPlatform &41; const


code: static void GenerateShaderParameterType &40; FString & Result, bool bSupportsPrecisionModifier, EUniformBufferBaseType BaseType, EShaderPrecisionModifier::Type PrecisionModifier, uint32 NumRows, uint32 NumColumns &41;


description: Returns the type of the elements, int, UAV...


description: Returns the C++ line number where the parameter is declared.

code: int32 GetFileLine&40;&41; const


description: Returns the size of the member.

code: uint32 GetMemberSize&40;&41; const


description: Returns the string of the name of the element or name of the array of elements.

code: const TCHAR &42; GetName&40;&41; const


description: Returns the number of column in the element. For instance FMatrix would return 4, or FVector would return 3.

code: uint32 GetNumColumns&40;&41; const


description: Returns the number of elements in array, or 0 if this is not an array.

code: uint32 GetNumElements&40;&41; const


description: Returns the number of row in the element. For instance FMatrix would return 4, or FVector would return 1.

code: uint32 GetNumRows&40;&41; const


description: Returns the offset of the element in the shader parameter struct in bytes.

code: uint32 GetOffset&40;&41; const


description: Floating point the element is being stored.


description: Returns the string of the type.

code: const TCHAR &42; GetShaderType&40;&41; const


description: Returns the metadata of the struct.

code: const FShaderParametersMetadata &42; GetStructMetadata&40;&41; const


description: Initialization constructor.

code: FMember &40; const TCHAR &42; InName, const TCHAR &42; InShaderType, int32 InFileLine, uint32 InOffset, EUniformBufferBaseType InBaseType, EShaderPrecisionModifier::Type InPrecision, uint32 InNumRows, uint32 InNumColumns, uint32 InNumElements, const FShaderParametersMetadata &42; InStruct &41;


code: bool IsVariableNativeType&40;&41; const


className: FMember

description: A member of a shader parameter structure.

code: class FMember


description: Returns the C++ line number where the parameter structure is declared.

code: const int32 GetFileLine() const


description: Returns the C++ file name where the parameter structure is declared.

code: const ANSICHAR * GetFileName() const


description: Returns the full C++ member name from it's byte offset in the structure.

code: [FString](API\Runtime\Core\Containers\FString) GetFullMemberCodeName ( uint16 MemberOffset ) const


code: const [FRHIUniformBufferLayout](API\Runtime\RHI\FRHIUniformBufferLayout) & GetLayout() const


description: Returns a hash about the entire layout of the structure.

code: uint32 GetLayoutHash() const


code: const [FRHIUniformBufferLayout](API\Runtime\RHI\FRHIUniformBufferLayout) * GetLayoutPtr() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FMember](API\Runtime\RenderCore\FShaderParametersMetadata\FMember) > & GetMembers() const


description: Speed up finding the uniform buffer by its name

code: static [TMap](API\Runtime\Core\Containers\TMap)< [FHashedName](API\Runtime\Core\Serialization\FHashedName), [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) * > & GetNameStructMap()


code: void GetNestedStructs ( [TArray](API\Runtime\Core\Containers\TArray)< const [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) * > & OutNestedStructs ) const


code: const [FHashedName](API\Runtime\Core\Serialization\FHashedName) & GetShaderVariableHashedName() const


code: const TCHAR * GetShaderVariableName() const


code: const TCHAR * GetStaticSlotName() const


code: static [TLinkedList](API\Runtime\Core\Containers\TLinkedList)< [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) * > *& GetStructList()


code: const TCHAR * GetStructTypeName() const


code: const [FString](API\Runtime\Core\Containers\FString) & GetUniformBufferDeclaration() const


code: const [FString](API\Runtime\Core\Containers\FString) & GetUniformBufferInclude() const


code: const [FString](API\Runtime\Core\Containers\FString) & GetUniformBufferPath() const


code: uint32 GetUniformBufferPathHash() const


description: Initialize all the global shader parameter structs.


code: bool IsLayoutInitialized() const


description: Iterate recursively over allFShaderParametersMetadata.

code: template<typename TParameterFunction> void IterateStructureMetadataDependencies ( TParameterFunction Lambda ) const


className: kRootCBufferBindingIndex

description: Shader binding name of the uniform buffer that contains the root shader parameters.

code: static constexpr int32 kRootCBufferBindingIndex = 0;


className: kRootUniformBufferBindingName

code: static constexpr const TCHAR * kRootUniformBufferBindingName = TEXT("_RootShaderParameters");


description: EUseCase::UniformBufferare listed in the globalGetStructList()that will be visited at engine startup to know all the global uniform buffer that can generate code in /Engine/Generated/GeneratedUniformBuffers.ush. Their initialization will be finished during the this list traversal. bForceCompleteInitialization force to ignore the list forEUseCase::UniformBufferand instead handle it like a standalone non globally listedEUseCase::ShaderParameterStruct. This is required for the ShaderCompileWorker to deserialize them without side global effects.

code: FShaderParametersMetadata ( [EUseCase](API\Runtime\RenderCore\FShaderParametersMetadata\EUseCase) UseCase, EUniformBufferBindingFlags InBindingFlags, const TCHAR * InLayoutName, const TCHAR * InStructTypeName, const TCHAR * InShaderVariableName, const TCHAR * InStaticSlotName, const ANSICHAR * InFileName, const int32 InFileLine, uint32 InSize, const [TArray](API\Runtime\Core\Containers\TArray)< [FMember](API\Runtime\RenderCore\FShaderParametersMetadata\FMember) > & InMembers, bool bForceCompleteInitialization, [FRHIUniformBufferLayoutInitializer](API\Runtime\RHI\FRHIUniformBufferLayoutInitializ-) * OutLayoutInitializer, uint32 InUsageFlags )


code: virtual ~FShaderParametersMetadata()


className: FShaderParametersMetadata

description: A uniform buffer struct.

code: class FShaderParametersMetadata


code: void AddBufferSRV ( const TCHAR * Name, const TCHAR * ShaderType, [EShaderPrecisionModifier::Type](API\Runtime\RenderCore\EShaderPrecisionModifier__Type) Precision )


code: void AddBufferUAV ( const TCHAR * Name, const TCHAR * ShaderType, [EShaderPrecisionModifier::Type](API\Runtime\RenderCore\EShaderPrecisionModifier__Type) Precision )


code: template<typename T> void AddIncludedStruct ( [EShaderPrecisionModifier::Type](API\Runtime\RenderCore\EShaderPrecisionModifier__Type) Precision )


code: template<typename T> uint32 AddNestedStruct ( const TCHAR * Name, [EShaderPrecisionModifier::Type](API\Runtime\RenderCore\EShaderPrecisionModifier__Type) Precision )


code: uint32 AddNestedStruct ( const TCHAR * Name, const [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) * StructMetadata, [EShaderPrecisionModifier::Type](API\Runtime\RenderCore\EShaderPrecisionModifier__Type) Precision )


code: template<typename T> void AddParam ( const TCHAR * Name, [EShaderPrecisionModifier::Type](API\Runtime\RenderCore\EShaderPrecisionModifier__Type) Precision )


code: template<typename T> void AddParamArray ( const TCHAR * Name, int32 NumElements, [EShaderPrecisionModifier::Type](API\Runtime\RenderCore\EShaderPrecisionModifier__Type) Precision )


code: void AddIncludedStruct ( const [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) * StructMetadata, [EShaderPrecisionModifier::Type](API\Runtime\RenderCore\EShaderPrecisionModifier__Type) Precision )


code: void AddRDGBufferSRV ( const TCHAR * Name, const TCHAR * ShaderType, [EShaderPrecisionModifier::Type](API\Runtime\RenderCore\EShaderPrecisionModifier__Type) Precision )


code: void AddRDGBufferUAV ( const TCHAR * Name, const TCHAR * ShaderType, [EShaderPrecisionModifier::Type](API\Runtime\RenderCore\EShaderPrecisionModifier__Type) Precision )


code: template<typename T> void AddReferencedStruct ( const TCHAR * Name, [EShaderPrecisionModifier::Type](API\Runtime\RenderCore\EShaderPrecisionModifier__Type) Precision )


code: void AddReferencedStruct ( const TCHAR * Name, const [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) * StructMetadata, [EShaderPrecisionModifier::Type](API\Runtime\RenderCore\EShaderPrecisionModifier__Type) Precision )


code: void AlignNextMemberToStruct()


code: [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) * Build ( [FShaderParametersMetadata::EUseCase](API\Runtime\RenderCore\FShaderParametersMetadata\EUseCase) UseCase, const TCHAR * ShaderParameterName )


code: uint32 GetNextMemberOffset() const


code: [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) * Build ( [FShaderParametersMetadata::EUseCase](API\Runtime\RenderCore\FShaderParametersMetadata\EUseCase) InUseCase, EUniformBufferBindingFlags InBindingFlags, const TCHAR * InLayoutName, const TCHAR * InStructTypeName, const TCHAR * InShaderVariableName, const TCHAR * InStaticSlotName, const ANSICHAR * InFileName, const int32 InFileLine, bool bForceCompleteInitialization, [FRHIUniformBufferLayoutInitializer](API\Runtime\RHI\FRHIUniformBufferLayoutInitializ-) * OutLayoutInitializer, uint32 InUsageFlags )


code: FShaderParametersMetadataBuilder()


code: FShaderParametersMetadataBuilder ( const [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) * RootParametersMetadata )


className: FShaderParametersMetadataBuilder

code: class FShaderParametersMetadataBuilder


code: static [TArray](API\Runtime\Core\Containers\TArray)< const [FShaderParametersMetadataRegistration](API\Runtime\RenderCore\FShaderParametersMetadataRegistr-) * > & GetInstances()


code: static bool IsReadyForRegistration()


description: Actually register all the instances and clear the array.

code: static void CommitAll()


code: FShaderParametersMetadataRegistration ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< const [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) *()> LazyShaderParametersMetadataAccessor )


className: FShaderParametersMetadataRegistration


description: Converts dimension's value id to dimension boolean value (exact reciprocal of ToDimensionValueId).

code: static [Type](API\Runtime\RenderCore\FShaderPermutationBool\Type) FromDimensionValueId ( int32 PermutationId )


className: PermutationCount

description: Setup the dimension's number of permutation.

code: static constexpr int32 PermutationCount = 2;


className: IsMultiDimensional

description: Setup the dimension as non multi-dimensional, so that the ModifyCompilationEnvironement's define can conventily be set up in SHADER_PERMUTATION_BOOL.

code: static constexpr bool IsMultiDimensional = false;


description: Pass down a boolean toFShaderCompilerEnvironment::SetDefine().

code: static bool ToDefineValue ( [Type](API\Runtime\RenderCore\FShaderPermutationBool\Type) E )


description: Converts dimension boolean value to dimension's value id.

code: static int32 ToDimensionValueId ( [Type](API\Runtime\RenderCore\FShaderPermutationBool\Type) E )


className: Type

description: Setup the dimension's type in permutation domain as boolean.

code: typedef bool Type


className: FShaderPermutationBool

description: Defines at compile time a boolean permutation dimension.

code: struct FShaderPermutationBool


description: Default to include editor-only shaders, to maintain backwards-compatibility.

code: FShaderPermutationParameters ( EShaderPlatform InPlatform, int32 InPermutationId, EShaderPermutationFlags InFlags )


className: FShaderPermutationParameters

code: struct FShaderPermutationParameters

Flags

type: const EShaderPe...

description: Flags that describe the permutation.

PermutationId

type: const int32

description: Unique permutation identifier of the material shader type.

Platform

type: const EShaderPl...

description: Shader platform to compile to.


code: void AddShader ( [FShader](API\Runtime\RenderCore\FShader) * Shader, int32 PermutationId )


className: CounterBase

code: static constexpr int CounterBase = __COUNTER__;


className: EFilter

code: enum EFilter { EAll, EOnlyShared, EOnlyUnique, }


code: void Finalize ( const [FShaderMapResourceCode](API\Runtime\RenderCore\FShaderMapResourceCode) * Code )


code: [FShader](API\Runtime\RenderCore\FShader) * FindOrAddShader ( [FShader](API\Runtime\RenderCore\FShader) * Shader, int32 PermutationId )


description: Find a shader inside the pipeline.

code: template<typename ShaderType> ShaderType * GetShader ( const [FShaderMapPointerTable](API\Runtime\RenderCore\FShaderMapPointerTable) & InPtrTable )


code: [FShader](API\Runtime\RenderCore\FShader) * GetShader ( EShaderFrequency Frequency )


code: const [FShader](API\Runtime\RenderCore\FShader) * GetShader ( EShaderFrequency Frequency ) const


code: RENDERCORE_API const [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & GetTypeLayout() const


className: InterfaceType

code: static constexpr [ETypeLayoutInterface::Type](API\Runtime\Core\Serialization\ETypeLayoutInterface__Type) InterfaceType = ETypeLayoutInterface:: NonVirtual;


className: InternalBaseType

code: typedef typename [TGetBaseTypeHelper](API\Runtime\Core\Serialization\TGetBaseTypeHelper)< [FShaderPipeline](API\Runtime\RenderCore\FShaderPipeline) >::Type InternalBaseType


code: static void Initialize &40; FTypeLayoutDesc & TypeDesc &41;


className: InternalLinkType

description: InternalLinkType<COUNTER-CounterBase >

code: template<int Counter> struct InternalLinkType


code: template<> struct InternalLinkType< __COUNTER__-CounterBase >


description: Saves stable keys for the shaders in the pipeline

code: void SaveShaderStableKeys ( const [FShaderMapPointerTable](API\Runtime\RenderCore\FShaderMapPointerTable) & InPtrTable, EShaderPlatform TargetShaderPlatform, const struct [FStableShaderKeyAndValue](API\Runtime\RenderCore\FStableShaderKeyAndValue) & SaveKeyVal ) const


code: static RENDERCORE_API [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & StaticGetTypeLayout()


code: FShaderPipeline ( const [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * InType )


code: void Validate ( const [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * InPipelineType ) const


code: [TArray](API\Runtime\Core\Containers\TArray)< TShaderRef< [FShader](API\Runtime\RenderCore\FShader) > > GetShaders ( const [FShaderMapBase](API\Runtime\RenderCore\FShaderMapBase) & InShaderMap ) const


className: FShaderPipeline

description: A Shader Pipeline instance with compiled stages.

code: class FShaderPipeline

Shaders

type: TMemoryImagePtr...

TypeName

type: FHashedName


className: BatchMode

code: enum BatchMode { Background, Fast, Precompile, }


className: BatchSize

code: static uint32 BatchSize = 0;


className: BatchTime

code: static float BatchTime = 0.0f;


description: Closes the existing pipeline cache, allowing it to be reopened with a different file and/or shader platform. Will implicitly invoke a Fast Save.


className: FShaderCacheClosedDelegate

description: Delegate signature for being notified when a pipeline cache is closed

code: typedef TMulticastDelegate_TwoParams< void, [FString](API\Runtime\Core\Containers\FString) const &, EShaderPlatform > FShaderCacheClosedDelegate


className: ELibraryState

code: enum ELibraryState { Opened, OpenedComponent, Closed, }


className: FShaderCacheOpenedDelegate

description: Delegate signature for being notified when a pipeline cache is opened

code: typedef TMulticastDelegate_FiveParams< void, [FString](API\Runtime\Core\Containers\FString) const &, EShaderPlatform, uint32, const [FGuid](API\Runtime\Core\Misc\FGuid) &, [FShaderCachePrecompileContext](API\Runtime\RenderCore\FShaderPipelineCache\FShaderCachePrecompileContext) & > FShaderCacheOpenedDelegate


code: const FString & GetCacheName&40;&41; const


code: FShaderCachePrecompileContext &40; const FString & CacheNameIn &41;


className: FShaderCachePreOpenDelegate

description: Delegate signature for being notified when we are about to open the pipeline cache

code: typedef TMulticastDelegate_ThreeParams< void, [FString](API\Runtime\Core\Containers\FString) const &, EShaderPlatform, bool & > FShaderCachePreOpenDelegate


className: FShaderCachePrecompileContext

description: Allows handlers of FShaderCacheOpenedDelegate to send state to begin and complete pre-compilation delegates

code: class FShaderCachePrecompileContext


className: FShaderPrecompilationCompleteDelegate

description: Delegate signature for being notified that all currently viable PSOs have been precompiled from the cache, how many that was and how long spent precompiling (in sec.)

code: typedef TMulticastDelegate_ThreeParams< void, uint32, double, const [FShaderCachePrecompileContext](API\Runtime\RenderCore\FShaderPipelineCache\FShaderCachePrecompileContext) & > FShaderPrecompilationCompleteDelegate


className: FShaderPrecompilationBeginDelegate

description: Delegate signature for being notified when currently viable PSOs have started to be precompiled from the cache, and how many will be precompiled

code: typedef TMulticastDelegate_TwoParams< void, uint32, const [FShaderCachePrecompileContext](API\Runtime\RenderCore\FShaderPipelineCache\FShaderCachePrecompileContext) & > FShaderPrecompilationBeginDelegate


description: Gets the event delegate to register to to be notified when a pipeline cache is opened.


description: Gets the event delegate to register to to be notified when a pipeline cache is closed.


description: Gets the event delegate to register to to be notified when we are about to open the pipeline cache.


description: Gets the event delegate to register to to be notified when currently viable PSOs have started to be precompiled from the cache.


description: Gets the event delegate to register to to be notified when all currently viable PSOs have been precompiled from the cache.


description: Return the stat id to use for this tickable

code: virtual [TStatId](API\Runtime\Core\Stats\TStatId) GetStatId() const


description: Initializes the shader pipeline cache for the desired platform, called by the engine. The shader platform is used only to load the initial pipeline cache and can be changed by closing & reopening the cache if necessary.

code: static void Initialize ( EShaderPlatform Platform )


code: static bool IsBatchingPaused()


description: True if pipeline cache(s) are precompiling.

code: static bool IsPrecompiling()


description:
Pure virtual that must be overloaded by the inheriting class. It is used to determine whether an object is ready to be ticked. This is required for example for allUObjectderived classes as they might be loaded async and therefore won't be ready immediately.
true if class is ready to be ticked, false otherwise.

code: virtual bool IsTickable() const


description:
Used to determine if a rendering thread tickable object must have rendering in a non-suspended state during it's Tick function.
true if the RHIResumeRendering should be called before tick if rendering has been suspended

code: virtual bool NeedsRenderingResumedForRenderingThreadTick() const


description: Returns the number of pipelines waiting for precompilation of the current PSOFC task. if there are multiple PSOFCs pending this will return a minimum value of 1. It may increase as subsequent caches are processed.

code: static uint32 NumPrecompilesRemaining()


description: Opens the shader pipeline cache file with either the LastOpened setting if available, or the project name otherwise

code: static bool OpenPipelineFileCache ( EShaderPlatform Platform )


description: Opens the user pipeline cache file with either the LastOpened setting if available, or the project name otherwise

code: static bool OpenUserPipelineFileCache ( EShaderPlatform Platform )


description: Pauses precompilation.

code: static void PauseBatching()


description: Resumes precompilation batching.

code: static void ResumeBatching()


description: Saves the current shader pipeline cache to disk using one of the defined save modes, Fast uses an incremental approach whereas Slow will consolidate all data into the file.

code: static bool SavePipelineFileCache ( [FPipelineFileCacheManager::SaveMode](API\Runtime\RHI\FPipelineFileCacheManager\SaveMode) Mode )


description: Sets the precompilation batching mode.

code: static void SetBatchMode ( [BatchMode](API\Runtime\RenderCore\FShaderPipelineCache\BatchMode) Mode )


description: Set the current PSO Game Usage Mask and comparsion function . Returns true if this mask is different from the old mask or false if not or the cache system is disabled or if the mask feature is disabled Any new PSO's found will be logged with this value or existing PSO should have their masks updated. SeeFPipelineFileCacheManagerfor more details.

code: static bool SetGameUsageMaskWithComparison ( uint64 Mask, FPSOMaskComparisonFn InComparisonFnPtr )


description: Called byFShaderCodeLibraryto notify us that the shader code library state changed and shader availability will need to be re-evaluated

code: static void ShaderLibraryStateChanged ( [ELibraryState](API\Runtime\RenderCore\FShaderPipelineCache\ELibraryState) State, EShaderPlatform Platform, [FString](API\Runtime\Core\Containers\FString) const & Name, int32 ComponentID )


className: ShaderPipelineCache

code: static [FShaderPipelineCache](API\Runtime\RenderCore\FShaderPipelineCache) * ShaderPipelineCache = nullptr;


description: Pure virtual that must be overloaded by the inheriting class. It will be called from within LevelTick.cpp after ticking all actors or from the rendering thread (depending on bIsRenderingThreadObject)

code: virtual void Tick ( float DeltaTime )


description: Terminates the shader pipeline cache, called by the engine.

code: static void Shutdown()


code: FShaderPipelineCache ( EShaderPlatform Platform )


code: virtual ~FShaderPipelineCache()


className: FShaderPipelineCache

description: Requirements:

code: class FShaderPipelineCache : public [FTickableObjectRenderThread](API\Runtime\RenderCore\FTickableObjectRenderThread)


description: Returns hash of all inputs for this job (needed for caching).


description: Executed for all jobs (including those read from cache) on completion.

code: virtual void OnComplete()


className: Type

code: static const EShaderCompileJobType Type = EShaderCompileJobType::Pipeline;


description: Serializes (and deserializes) the output for caching purposes.

code: virtual void SerializeOutput ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: FShaderPipelineCompileJob ( int32 NumStages )


code: FShaderPipelineCompileJob ( uint32 InHash, uint32 InId, EShaderCompileJobPriority InPriroity, const [FShaderPipelineCompileJobKey](API\Runtime\RenderCore\FShaderPipelineCompileJobKey) & InKey )


className: FShaderPipelineCompileJob

code: class FShaderPipelineCompileJob : public [FShaderCommonCompileJob](API\Runtime\RenderCore\FShaderCommonCompileJob)

Key

type: FShaderPipeline...

StageJobs

type: TArray<TRefCou...


code: uint32 MakeHash ( uint32 Id ) const


code: FShaderPipelineCompileJobKey ( const [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * InType, const [FVertexFactoryType](API\Runtime\RenderCore\FVertexFactoryType) * InVFType, int32 InPermutationId )


className: FShaderPipelineCompileJobKey

code: struct FShaderPipelineCompileJobKey

ShaderPipeline

type: constFShaderPi...

VFType

type: constFVertexFa...


code: [FShaderPipeline](API\Runtime\RenderCore\FShaderPipeline) * GetPipeline() const


code: const [FShaderMapPointerTable](API\Runtime\RenderCore\FShaderMapPointerTable) & GetPointerTable() const


code: [FShaderMapResource](API\Runtime\RenderCore\FShaderMapResource) * GetResource() const


code: template<typename ShaderType> TShaderRef< ShaderType > GetShader() const


code: TShaderRef< [FShader](API\Runtime\RenderCore\FShader) > GetShader ( EShaderFrequency Frequency ) const


code: [TArray](API\Runtime\Core\Containers\TArray)< TShaderRef< [FShader](API\Runtime\RenderCore\FShader) > > GetShaders() const


code: [FShaderPipeline](API\Runtime\RenderCore\FShaderPipeline) * operator->() const


code: FShaderPipelineRef ( [FShaderPipeline](API\Runtime\RenderCore\FShaderPipeline) * InPipeline, const [FShaderMapBase](API\Runtime\RenderCore\FShaderMapBase) & InShaderMap )


className: FShaderPipelineRef

code: class FShaderPipelineRef


className: bInitialized

code: static bool bInitialized = false;


code: const [FHashedName](API\Runtime\Core\Serialization\FHashedName) & GetHashedName() const


code: const [FHashedName](API\Runtime\Core\Serialization\FHashedName) & GetHashedPrimaryShaderFilename() const


description: The global shader pipeline name to type map

code: static [TMap](API\Runtime\Core\Containers\TMap)< [FHashedName](API\Runtime\Core\Serialization\FHashedName), [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * > & GetNameToTypeMap()


code: const [FShaderType](API\Runtime\RenderCore\FShaderType) * GetShader ( EShaderFrequency Frequency ) const


code: static const [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * GetShaderPipelineTypeByName ( const [FHashedName](API\Runtime\Core\Serialization\FHashedName) & Name )


code: static [TArray](API\Runtime\Core\Containers\TArray)< const [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * > GetShaderPipelineTypesByFilename ( const TCHAR * Filename )


code: static const [TArray](API\Runtime\Core\Containers\TArray)< [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * > & GetSortedTypes ( [FShaderType::EShaderTypeForDynamicCast](API\Runtime\RenderCore\FShaderType\EShaderTypeForDynamicCast) Type )


description: Calculates a Hash based on this shader pipeline type stages' source code and includes

code: const [FSHAHash](API\Runtime\Core\Misc\FSHAHash) & GetSourceHash ( EShaderPlatform ShaderPlatform ) const


description: Returns an array of valid stages, sorted from PS->GS->DS->HS->VS, no gaps if missing stages.

code: const [TArray](API\Runtime\Core\Containers\TArray)< const [FShaderType](API\Runtime\RenderCore\FShaderType) * > & GetStages() const


code: static [TLinkedList](API\Runtime\Core\Containers\TLinkedList)< [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * > *& GetTypeList()


description: Initialize static members, this must be called before any shader types are created.

code: static void Initialize()


description: Check if this pipeline is built of specific types.

code: bool IsGlobalTypePipeline() const


code: bool IsMaterialTypePipeline() const


code: bool IsMeshMaterialTypePipeline() const


code: bool ShouldCompilePermutation ( const [FShaderPermutationParameters](API\Runtime\RenderCore\FShaderPermutationParameters) & Parameters ) const


code: bool ShouldOptimizeUnusedOutputs ( EShaderPlatform Platform ) const


description: Set bShouldOptimizeUnusedOutputs to true if we want unique FShaders for each shader pipeline Set bShouldOptimizeUnusedOutputs to false if the FShaders will point to the individual shaders in the map

code: FShaderPipelineType ( const TCHAR * InName, const [FShaderType](API\Runtime\RenderCore\FShaderType) * InVertexOrMeshShader, const [FShaderType](API\Runtime\RenderCore\FShaderType) * InGeometryOrAmplificationShader, const [FShaderType](API\Runtime\RenderCore\FShaderType) * InPixelShader, bool bInIsMeshPipeline, bool bInShouldOptimizeUnusedOutputs )


code: bool operator!= ( const [FShaderPipelineTypeDependency](API\Runtime\RenderCore\FShaderPipelineTypeDependency) & Reference ) const


code: bool operator== ( const [FShaderPipelineTypeDependency](API\Runtime\RenderCore\FShaderPipelineTypeDependency) & Reference ) const


className: FShaderPipelineType

description: Binding of a set of shader stages in a single pipeline.

code: class FShaderPipelineType

AllStages

type: constFShaderTy...

bShouldOptimizeUnusedOutputs

type: bool

GlobalListLink

type: TLinkedList<FS...

Stages

type: TArray< constF...

description: Pipeline Stages, ordered from lowest (usually PS) to highest (VS). Guaranteed at least one stage (for VS).

TypeName

type: FName


code: FShaderPipelineTypeDependency()


code: FShaderPipelineTypeDependency ( const [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * InShaderPipelineType, EShaderPlatform ShaderPlatform )


className: FShaderPipelineTypeDependency

code: class FShaderPipelineTypeDependency

ShaderPipelineTypeName

description: Shader Pipeline type

StagesSourceHash

type: FSHAHash

description: Used to detect changes to the shader source files.


code: FShaderPlatformCachedIniValue ( const TCHAR * InCVarName )


code: Type Get ( EShaderPlatform ShaderPlatform )


code: FShaderPlatformCachedIniValue ( [IConsoleVariable](API\Runtime\Core\HAL\IConsoleVariable) * InCVar )


className: FShaderPlatformCachedIniValue

code: template<typename Type> struct FShaderPlatformCachedIniValue


code: void AddDirective ( [FString](API\Runtime\Core\Containers\FString) && Directive )


code: [TArray](API\Runtime\Core\Containers\TArray)< [FShaderCompilerError](API\Runtime\RenderCore\FShaderCompilerError) > & EditErrors()


code: const [FShaderParameterParser](API\Runtime\RenderCore\FShaderParameterParser) & GetParameterParser() const


code: const [FString](API\Runtime\Core\Containers\FString) & GetSource() const


code: const [FString](API\Runtime\Core\Containers\FString) & GetUnstrippedSource() const


code: bool HasDirective ( const [FString](API\Runtime\Core\Containers\FString) & Directive ) const


code: void LogError ( [FString](API\Runtime\Core\Containers\FString) && Message )


code: void LogError ( [FString](API\Runtime\Core\Containers\FString) && FilePath, [FString](API\Runtime\Core\Containers\FString) && Message, [FString](API\Runtime\Core\Containers\FString) && LineNumberStr )


code: void LogError ( [FString](API\Runtime\Core\Containers\FString) && FilePath, [FString](API\Runtime\Core\Containers\FString) && Message, int32 LineNumber )


description: Temporary helper for preprocessor wrapper function. Can be deprecated when all backends move to independent preprocessing.

code: void MoveDirectives ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutDirectives )


code: bool ParseAndModify ( const [FShaderCompilerInput](API\Runtime\RenderCore\FShaderCompilerInput) & Input, const [FShaderCompilerEnvironment](API\Runtime\RenderCore\FShaderCompilerEnvironment) & Environment, const TCHAR * ConstantBufferType, const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const TCHAR *const > ExtraSRVTypes, const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const TCHAR *const > ExtraUAVTypes )


code: void Bind ( const [FShaderParameterMap](API\Runtime\RenderCore\FShaderParameterMap) & ParameterMap, const TCHAR * ParameterName, EShaderParameterFlags Flags )


className: FShaderPreprocessOutput

code: class FShaderPreprocessOutput


className: CounterBase

code: static constexpr int CounterBase = __COUNTER__;


code: uint32 GetNumResources() const


code: EShaderParameterType GetType() const


className: InterfaceType

code: static constexpr [ETypeLayoutInterface::Type](API\Runtime\Core\Serialization\ETypeLayoutInterface__Type) InterfaceType = ETypeLayoutInterface:: NonVirtual;


code: RENDERCORE_API const [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & GetTypeLayout() const


className: InternalBaseType

code: typedef typename [TGetBaseTypeHelper](API\Runtime\Core\Serialization\TGetBaseTypeHelper)< [FShaderResourceParameter](API\Runtime\RenderCore\FShaderResourceParameter) >::Type InternalBaseType


code: static void Initialize &40; FTypeLayoutDesc & TypeDesc &41;


description: Initialize(FTypeLayoutDesc& TypeDesc)

code: template<> struct InternalLinkType< COUNTER-CounterBase >


className: InternalLinkType

description: InternalLinkType<COUNTER-CounterBase >

code: template<int Counter> struct InternalLinkType


code: static RENDERCORE_API [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & StaticGetTypeLayout()


className: FShaderResourceParameter

description: A shader resource binding (textures or samplerstates).

code: class FShaderResourceParameter


code: typedef typename [TGetBaseTypeHelper](API\Runtime\Core\Serialization\TGetBaseTypeHelper)< [FShaderResourceParameterInfo](API\Runtime\RenderCore\FShaderResourceParameterInfo) >::Type InternalBaseType


code: template<> struct InternalLinkType< __COUNTER__-CounterBase >


code: bool operator== ( const [FShaderResourceParameterInfo](API\Runtime\RenderCore\FShaderResourceParameterInfo) & Rhs ) const


code: bool operator< ( const [FShaderResourceParameterInfo](API\Runtime\RenderCore\FShaderResourceParameterInfo) & Rhs ) const


code: FShaderResourceParameterInfo()


code: FShaderResourceParameterInfo ( uint16 InBaseIndex, uint8 InBufferIndex, EShaderParameterType InType )


className: FShaderResourceParameterInfo

code: class FShaderResourceParameterInfo

Type

type: EShaderParamete...


className: FShaderResourceTable

code: struct FShaderResourceTable

ResourceTableBits

description: Bits indicating which resource tables contain resources bound to this shader.

ResourceTableLayoutHashes

type: TArray< uint32 ...

description: Hash of the layouts of resource tables at compile time, used for runtime validation.

SamplerMap

description: Mapping of bound sampler states to their location in resource tables.

ShaderResourceViewMap

description: Mapping of bound SRVs to their location in resource tables.

TextureMap

description: Mapping of bound Textures to their location in resource tables.

UnorderedAccessViewMap

description: Mapping of bound UAVs to their location in resource tables.


code: void Append ( const [FShaderResourceTableMap](API\Runtime\RenderCore\FShaderResourceTableMap) & Other )


code: void FixupOnLoad ( const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [FUniformBufferEntry](API\Runtime\RenderCore\FUniformBufferEntry) > & UniformBufferMap )


className: FShaderResourceTableMap

code: struct FShaderResourceTableMap

Resources

type: TArray<FUnifor...


code: virtual void Serialize ( void * V, int64 Length )


description: Attempts to set the current offset into backing data storage, this will do nothing if there is no storage.

code: virtual void Seek ( int64 InPos )


code: FShaderSaveArchive ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Archive, [FSerializationHistory](API\Runtime\RenderCore\FSerializationHistory) & InHistory )


className: FShaderSaveArchive

description: Archive used when saving shaders, which generates data used to detect serialization mismatches on load.

code: class FShaderSaveArchive : public [FArchiveProxy](API\Runtime\Core\Serialization\FArchiveProxy)

History

type: FSerializationH...


description: Prints a pipeline info to log if configured to do so.

code: void DumpPSOToLogIfConfigured ( const [FGraphicsPipelineStateInitializer](API\Runtime\RHI\FGraphicsPipelineStateInitialize-) & Initializer )


description: Returns a string describing a PSO (shaders only). Because of shader deduplication there can be several multiple (thousands) possible options.

code: [FString](API\Runtime\Core\Containers\FString) GetPSOStableNameOptions ( const [FGraphicsPipelineStateInitializer](API\Runtime\RHI\FGraphicsPipelineStateInitialize-) & Initializer, int32 MaxOptionsToInclude )


description: Initializes the class with a pointer to directory holding SHK files

code: bool Initialize ( const [FString](API\Runtime\Core\Containers\FString) & ShaderStableKeyFile )


description: Returns a string describing a shader. Because of shader deduplication there can be several multiple (thousands) possible options

code: [FString](API\Runtime\Core\Containers\FString) GetShaderStableNameOptions ( const [FSHAHash](API\Runtime\Core\Misc\FSHAHash) & ShaderHash, int32 MaxOptionsToInclude )


description: Whether the info reader is usable

code: bool IsInitialized() const


className: FShaderStableKeyDebugInfoReader

description: Class that uses build metadata (*.shk files storing mapping of stable shader keys to their hashes) to provide high level info on shaders and PSOs.

code: class FShaderStableKeyDebugInfoReader


code: EShaderPlatform GetPlatform() const


code: FShaderTarget ( EShaderFrequency InFrequency, EShaderPlatform InPlatform )


className: FShaderTarget

code: struct FShaderTarget

type: union FShaderTa...

description: The rest of uint32 holding the bitfields can be left unitialized. Union with a uint32 serves to prevent that to be able to set the whole uint32 value.

Frequency

type: uint32:  SF_Num...

Platform

type: uint32:  SP_Num...


description: Deprecated* AddReferencedUniformBufferIncludes has moved to AddUniformBufferIncludesToEnvironment and no longer takes a prefix argument.

code: void AddReferencedUniformBufferIncludes ( [FShaderCompilerEnvironment](API\Runtime\RenderCore\FShaderCompilerEnvironment) & OutEnvironment, [FString](API\Runtime\Core\Containers\FString) & OutSourceFilePrefix, EShaderPlatform Platform ) const


code: EShaderFrequency GetFrequency() const


description: Adds include statements for uniform buffers that this shader type references.

code: void AddUniformBufferIncludesToEnvironment ( [FShaderCompilerEnvironment](API\Runtime\RenderCore\FShaderCompilerEnvironment) & OutEnvironment, EShaderPlatform Platform ) const


code: const [FMaterialShaderType](API\Runtime\Engine\FMaterialShaderType) * AsMaterialShaderType() const


code: const [FGlobalShaderType](API\Runtime\RenderCore\FGlobalShaderType) * AsGlobalShaderType() const


code: const [FMeshMaterialShaderType](API\Runtime\Engine\FMeshMaterialShaderType) * AsMeshMaterialShaderType() const


code: const [FNiagaraShaderType](API\Plugins\NiagaraShader\FNiagaraShaderType) * AsNiagaraShaderType() const


code: const [FOpenColorIOShaderType](API\Plugins\OpenColorIO\FOpenColorIOShaderType) * AsOpenColorIOShaderType() const


className: bInitializedSerializationHistory

description: Tracks whether serialization history for all shader types has been initialized.

code: static bool bInitializedSerializationHistory = false;


code: [FShader](API\Runtime\RenderCore\FShader) * ConstructCompiled ( const [FShader::CompiledShaderInitializerType](API\Runtime\RenderCore\FShader\CompiledShaderInitializerType) & Initializer ) const


className: ConstructCompiledType

code: typedef [FShader](API\Runtime\RenderCore\FShader) *(* ConstructCompiledType


description: Constructs a new instance of the shader type for deserialization.

code: [FShader](API\Runtime\RenderCore\FShader) * ConstructForDeserialization() const


className: ConstructSerializedType

code: typedef class [FShader](API\Runtime\RenderCore\FShader) *(* ConstructSerializedType


className: EShaderTypeForDynamicCast

code: enum EShaderTypeForDynamicCast { Global, Material, MeshMaterial, Niagara, OCIO, ComputeKernel, NumShaderTypes, }


description: Deprecated* FlushShaderFileCache is deprecated. UpdateReferencedUniformBufferNames should be used to flush any uniform buffer changes

code: void FlushShaderFileCache ( const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [TArray](API\Runtime\Core\Containers\TArray)< const TCHAR * > > & ShaderFileToUniformBufferVariables )


code: virtual &126;FParameters&40;&41;


className: FParameters

description: Derived FShaderTypes should derive from this class to pass params toFShaderconstructor

code: class FParameters


code: const FComputeKernelShaderType * GetComputeKernelShaderType() const


code: const [FName](API\Runtime\Core\UObject\FName) & GetFName() const


code: EShaderFrequency GetFrequency() const


code: const TCHAR * GetFunctionName() const


description: Dynamic casts.


code: const [FGlobalShaderType](API\Runtime\RenderCore\FGlobalShaderType) * GetGlobalShaderType() const


code: const [FHashedName](API\Runtime\Core\Serialization\FHashedName) & GetHashedName() const


code: const [FHashedName](API\Runtime\Core\Serialization\FHashedName) & GetHashedShaderFilename() const


description: Accessors.

code: const [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & GetLayout() const


code: const [FMaterialShaderType](API\Runtime\Engine\FMaterialShaderType) * GetMaterialShaderType() const


code: const [FMeshMaterialShaderType](API\Runtime\Engine\FMeshMaterialShaderType) * GetMeshMaterialShaderType() const


description: The global shader name to type map

code: static [TMap](API\Runtime\Core\Containers\TMap)< [FHashedName](API\Runtime\Core\Serialization\FHashedName), [FShaderType](API\Runtime\RenderCore\FShaderType) * > & GetNameToTypeMap()


code: const [FNiagaraShaderType](API\Plugins\NiagaraShader\FNiagaraShaderType) * GetNiagaraShaderType() const


code: const [FOpenColorIOShaderType](API\Plugins\OpenColorIO\FOpenColorIOShaderType) * GetOpenColorIOShaderType() const


code: int32 GetPermutationCount() const


code: ERayTracingPayloadType GetRayTracingPayloadType ( const int32 PermutationId ) const


code: const [TSet](API\Runtime\Core\Containers\TSet)< const TCHAR *, [TStringPointerSetKeyFuncs_DEPRECATED](API\Runtime\Core\Misc\TStringPointerSetKeyFuncs_DEPREC-)< const TCHAR * > > & GetReferencedUniformBufferNames() const


description: Returns the meta data for the root shader parameter struct.

code: const [FShaderParametersMetadata](API\Runtime\RenderCore\FShaderParametersMetadata) * GetRootParametersMetadata() const


code: void GetShaderStableKeyParts ( struct [FStableShaderKeyAndValue](API\Runtime\RenderCore\FStableShaderKeyAndValue) & SaveKeyVal )


code: const TCHAR * GetShaderFilename() const


code: static [FShaderType](API\Runtime\RenderCore\FShaderType) * GetShaderTypeByName ( const TCHAR * Name )


code: static [TArray](API\Runtime\Core\Containers\TArray)< const [FShaderType](API\Runtime\RenderCore\FShaderType) * > GetShaderTypesByFilename ( const TCHAR * Filename )


code: static const [TArray](API\Runtime\Core\Containers\TArray)< [FShaderType](API\Runtime\RenderCore\FShaderType) * > & GetSortedTypes ( [EShaderTypeForDynamicCast](API\Runtime\RenderCore\FShaderType\EShaderTypeForDynamicCast) Type )


description: The global shader factory list.

code: static [TLinkedList](API\Runtime\Core\Containers\TLinkedList)< [FShaderType](API\Runtime\RenderCore\FShaderType) * > *& GetTypeList()


description: InitializeFShaderTypestatic members, this must be called before any shader types are created.

code: static void Initialize ( const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [TArray](API\Runtime\Core\Containers\TArray)< const TCHAR * > > & ShaderFileToUniformBufferVariables )


code: void ModifyCompilationEnvironment ( const [FShaderPermutationParameters](API\Runtime\RenderCore\FShaderPermutationParameters) & Parameters, [FShaderCompilerEnvironment](API\Runtime\RenderCore\FShaderCompilerEnvironment) & OutEnvironment ) const


className: ModifyCompilationEnvironmentType


code: bool ShouldCompilePermutation ( const [FShaderPermutationParameters](API\Runtime\RenderCore\FShaderPermutationParameters) & Parameters ) const


description: Calculates a Hash based on this shader type's source code and includes

code: const [FSHAHash](API\Runtime\Core\Misc\FSHAHash) & GetSourceHash ( EShaderPlatform ShaderPlatform ) const


description: UninitializesFShaderTypecached data.

code: static void Uninitialize()


code: void UpdateReferencedUniformBufferNames ( const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [TArray](API\Runtime\Core\Containers\TArray)< const TCHAR * >> & ShaderFileToUniformBufferVariables )