Navigation
API > API/Developer > API/Developer/TargetPlatform > API/Developer/TargetPlatform/Interfaces
Inheritance Hierarchy
- IShaderFormat
- FBaseShaderFormat
References
| Module | TargetPlatform |
| Header | /Engine/Source/Developer/TargetPlatform/Public/Interfaces/IShaderFormat.h |
| Include | #include "Interfaces/IShaderFormat.h" |
Syntax
class IShaderFormat
Remarks
IShaderFormat, shader pre-compilation abstraction
Destructors
| Type | Name | Description | |
|---|---|---|---|
| Virtual destructor. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AppendToKeyString
(
FString& KeyString |
Appends shader key text to the provided key string for use in DDC unique key construction. | |
| bool | Can the shader format compile shaders to the native binary format for the platform. | ||
| bool | CanStripShaderCode
(
bool const bNativeFormat |
Can this shader format strip shader code for packaging in a shader library? | |
| void | CompilePreprocessedShader
(
const FShaderCompilerInput& Input, |
Compile the specified preprocessed shaders; only called if SupportsIndependentPreprocessing returns true, and the call to RequiresSecondaryCompile given the first preprocess output also returns true. | |
| void | CompilePreprocessedShader
(
const FShaderCompilerInput& Input, |
Compile the specified preprocessed shader; only called if SupportsIndependentPreprocessing returns true | |
| void | CompileShader
(
FName Format, |
Compile the specified shader. Only called if SupportsIndependentPreprocessing returns false. | |
| bool | CreateShaderArchive
(
FString const& LibraryName, |
Create a format specific archive for precompiled shader code. | |
| int32 | Virtual function that can be implemented by backends which require secondary compilation to specify a unique "key" identifier for the packing scheme (for validation in the runtime at load). | ||
| const TCHAR * | Returns name of directory with platform specific shaders. | ||
| void | GetSupportedFormats
(
TArray< FName >& OutFormats |
Gets the list of supported formats. | |
| uint32 | GetVersion
(
FName Format |
Gets the current version of the specified shader format. | |
| void | ModifyShaderCompilerInput
(
FShaderCompilerInput& Input |
Called before a shader is compiled to allow the platform shader format to modify the shader compiler input, e.g. by adding console variable values relevant to shader compilation on that platform. | |
| void | NotifyShaderCompiled
(
const TConstArrayView< uint8 >& PlatformDebugData, |
Called when a shader resource is cooked, so the shader format can perform platform-specific operations on the debug data. | |
| void | NotifyShaderCompilersShutdown
(
FName Format |
Called at the end of a cook to free resources and finalize artifacts created during the cook. | |
| void | OutputDebugData
(
const FShaderCompilerInput& Input, |
Implement to output debug info for a single compile job; only called if SupportsIndependentPreprocessing returns true. | |
| void | OutputDebugData
(
const FShaderCompilerInput& Input, |
Implement to output debug info for the case where a secondary preprocessed shader was created. | |
| bool | PreprocessShader
(
const FShaderCompilerInput& Input, |
Executes all shader preprocessing steps; only called if SupportsIndependentPreprocessing returns true | |
| bool | RequiresSecondaryCompile
(
const FShaderCompilerInput& Input, |
Predicate which should return true if a second preprocess & compilation is required given the initial preprocess output. | |
| bool | StripShaderCode
(
TArray< uint8 >& Code, |
Strips the shader bytecode provided of any unnecessary optional data elements when archiving shaders into the shared library. | |
| bool | Return true if preprocessing for this format can be executed independent of compilation (i.e. the format has an implementation of the PreprocessShader function). | ||
| bool | Whether this shader format supports a format-specific archive for precompiled shader code. |
Deprecated Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | UsesHLSLcc
(
const FShaderCompilerInput& Input |
UsesHLSLcc function is no longer used |