Navigation
API > API/Runtime > API/Runtime/Engine
An Extern represents a user-defined, backend-facing operation in the Material IR. It is a generic instruction whose behavior is fully described by a user provided struct that implements the CExternDefinition concept, which provides methods for argument access, type/info description, analysis, stage-specific analysis, HLSL emission, and optional debug output. The Extern instruction provides the extensibility point for users to model material-specific functionality not directly natively provided by MIR. See `MIR::CExternDefinition_ for more information.
| Name | FExtern |
| Type | struct |
| Header File | /Engine/Source/Runtime/Engine/Public/Materials/MaterialIR.h |
| Include Path | #include "Materials/MaterialIR.h" |
Syntax
struct FExtern : public MIR::TInstruction< VK_Extern, 0 >
Inheritance Hierarchy
- FValue → FInstruction → TInstruction → FExtern
Derived Classes
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Impl | const FExternImpl * | Pointer to the implementation table. | Materials/MaterialIR.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void Analyze
(
FExternAnalysisContext& Context |
See `MIR::CExternDefinition_ | Materials/MaterialIR.h | |
void AnalyzeInStage
(
FExternAnalysisContext& Context, |
See `MIR::CExternDefinition_ | Materials/MaterialIR.h | |
void EmitDebugInfo
(
FString& Out |
See `MIR::CExternDefinition_ | Materials/MaterialIR.h | |
TConstArrayView< FValue * > GetArguments() |
Returns the number of argument values which correspond to this instruction's uses. | Materials/MaterialIR.h | |
FExternInfo GetInfo() |
See `MIR::CExternDefinition_ | Materials/MaterialIR.h | |
void ToHLSL
(
FExternPrinterHLSL& Printer |
See `MIR::CExternDefinition_ | Materials/MaterialIR.h |