Navigation
API > API/Runtime > API/Runtime/Core > API/Runtime/Core/Serialization
References
| Module | Core |
| Header | /Engine/Source/Runtime/Core/Public/Serialization/ShaderKeyGenerator.h |
| Include | #include "Serialization/ShaderKeyGenerator.h" |
Syntax
class FShaderKeyGenerator
Remarks
Output class passed to Append functions for shader data. It receives Append calls for the input data for shader compilation. These input data should trigger a recompile if they change, and they are therefore added into the key used for storage of shader data in DDC and incremental cooks.
Known types are appended through FShaderKeyGenerator Append member functions. For other types, the standard API (which is used by e.g. the append function for TArray) for types that can be appended to FShaderKeyGenerator is the function in global namespace: void Append(FShaderKeyGenerator& KeyGen, const TypeName& Value);
The proper Append function can be called for any type using operator<<.
Constructors
| Type | Name | Description | |
|---|---|---|---|
FShaderKeyGenerator
(
TUniqueFunction< void(const void*Data, uint64 Size)>&& InResultFunc |
Inline implementations. | ||
FShaderKeyGenerator
(
FString& InResultString |
Constructor that writes the appended data to a long human-readable debug string. |
Destructors
| Type | Name | Description | |
|---|---|---|---|
| This destructor needs to be defined so that it can be called manually from union destructors. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | Append Value to the output string (equivalent to LexToString) or pass it as binary data to the hash function. | ||
| void | Append Value to the output string (EGuidFormats::Digits) or pass it as binary data to the hash function. | ||
| void | Append
(
const FBlake3Hash& Value |
Append Value to the output string (equivalent to LexToString) or pass it as binary data to the hash function. | |
| void | Appendf the integer to the output string or pass it as binary data to the hash function. | ||
| void | Appendf the integer to the output string or pass it as binary data to the hash function. | ||
| void | Appendf the integer to the output string or pass it as binary data to the hash function. | ||
| void | Appendf the integer to the output string or pass it as binary data to the hash function. | ||
| void | Convert the FName to text (case-sensitive) and append it to the output string or hash function. | ||
| void | Append arbitrary text to the output string or hash function. | ||
| void | Append
(
FStringView Value |
Append arbitrary text to the output string or hash function. | |
| void | AppendBoolInt
(
bool Value |
Appendf 0 or 1 to the output string or pass a 0 or 1 uint8 the hash function. | |
| void | AppendDebugText
(
FStringView Value |
Append arbitrary text to the output human-readable string. Noop if !IsText. | |
| void | Appendf the integer to the output string, using X format, or pass it as binary data to the hash function. | ||
| void | Append the separator character '_' to the output human-readable string. Noop if !IsText. | ||
| void | BinaryAppend
(
const void* Data, |
Must not be called unless IsBinary is true. Append data directly to the hash function. | |
| bool | IsBinary () |
True iff the KeyGen is writing to a hash function. | |
| bool | IsText () |
True iff the KeyGen is writing to a human-readable debug string. | |
| FString & | Must not be called unless IsText is true. |
Enums
| Type | Name | Description | |
|---|---|---|---|
| EOutputType |