Navigation
API > API/Plugins > API/Plugins/InterchangeImport
| Name | FMaterialXManager |
| Type | class |
| Header File | /Engine/Plugins/Interchange/Runtime/Source/Import/Public/MaterialX/MaterialXUtils/MaterialXManager.h |
| Include Path | #include "MaterialX/MaterialXUtils/MaterialXManager.h" |
Syntax
class FMaterialXManager
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FMaterialXManager
(
const FMaterialXManager& |
MaterialX/MaterialXUtils/MaterialXManager.h | ||
| MaterialX/MaterialXUtils/MaterialXManager.h |
Structs
| Name | Remarks |
|---|---|
| FKeyExpression |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FMaterialXMaterialFunction | TVariant< FString, EInterchangeMaterialXShaders, EInterchangeMaterialXBSDF, EInterchangeMaterialXEDF, EInterchangeMaterialXVDF > | FString: Material Function path Enums: data-driven BSDF nodes | MaterialX/MaterialXUtils/MaterialXManager.h |
| FOnGetMaterialXInstance | TBaseDelegate_OneParam< TSharedRef< FMaterialXBase >, UInterchangeBaseNodeContainer & > | MaterialX/MaterialXUtils/MaterialXManager.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| TexturePayloadSeparator | const TCHAR | MaterialX/MaterialXUtils/MaterialXManager.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bIsSubstrateAdaptiveGBufferEnabled | bool | MaterialX/MaterialXUtils/MaterialXManager.h | ||
| bIsSubstrateEnabled | bool | MaterialX/MaterialXUtils/MaterialXManager.h | ||
| CategoriesToSkip | std::unordered_set< std::string > | Categories of nodes to skip during the phase of flattening the subgraphs. | MaterialX/MaterialXUtils/MaterialXManager.h | |
| MatchingInputNames | TMap< TPair< FKeyExpression, FString >, FString > | Given a MaterialX node (category (optionally a nodegroup) - input), return the UE/Interchange input name. | MaterialX/MaterialXUtils/MaterialXManager.h | |
| MatchingMaterialExpressions | TMap< FKeyExpression, FString > | Given a MaterialX node category, optionally with a node group, return the UE material expression class name | MaterialX/MaterialXUtils/MaterialXManager.h | |
| MatchingMaterialFunctions | TMap< FString, FMaterialXMaterialFunction > | Given a MaterialX node category, return the UE material function, used for BSDF nodes | MaterialX/MaterialXUtils/MaterialXManager.h | |
| MaterialExpressionInputs | TSet< FString > | The different inputs of material expression that we may encounter, the MaterialX Document is modified consequently regarding those | MaterialX/MaterialXUtils/MaterialXManager.h | |
| MaterialFunctionsToLoad | TSet< FString > | List of material functions packages to load in the Game Thread. | MaterialX/MaterialXUtils/MaterialXManager.h | |
| MaterialXContainerDelegates | TMap< FString, FOnGetMaterialXInstance > | Container of a MaterialX document, to translate the different nodes based on their category | MaterialX/MaterialXUtils/MaterialXManager.h | |
| NodeDefsCategories | std::unordered_set< std::string > | Categories of nodes to add the default inputs from the nodedefs if they are not present on the node | MaterialX/MaterialXUtils/MaterialXManager.h | |
| NodeInputsToRemove | std::unordered_map< std::string, std::vector< std::string > > | Inputs of the nodes category to remove because there's no equivalent in UE Material Expression, to avoid creating a floating Scalar/Vector parameter | MaterialX/MaterialXUtils/MaterialXManager.h | |
| TextureNodeUids | TMap< FString, FString > | Mapping between texture fullpath and their UID used to allow same name textures with different path, but avoid duplicating textures across different materials in the same file (for example the chess_set) The map is reset after each translate | MaterialX/MaterialXUtils/MaterialXManager.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddInputsFromNodeDef
(
MaterialX::NodePtr Node |
Add all the inputs from the nodedef in case the node doesn't have them all (we don't have a 1:1 match on the default values otherwise) For exemple 'min' defaults to (0, 0) whereas UE to (0, 1) We don't want to add every node, since we don't a have perfect match for each input | MaterialX/MaterialXUtils/MaterialXManager.h | |
bool FilterNodeGraph
(
MaterialX::NodePtr Node |
Return true if the node category should be filtered out during the flattening of the subgraphs | MaterialX/MaterialXUtils/MaterialXManager.h | |
| Find a corresponding Material Expression Input given a (Category [NodeGroup] [Type], Input) pair | MaterialX/MaterialXUtils/MaterialXManager.h | ||
| Find a matching Material Expression given a MaterialX category [nodegroup] [type] | MaterialX/MaterialXUtils/MaterialXManager.h | ||
| Find a matching Material Function given a MaterialX category | MaterialX/MaterialXUtils/MaterialXManager.h | ||
| Find a stored Material Expression Input | MaterialX/MaterialXUtils/MaterialXManager.h | ||
| Find or Add a Texture Node UID, if not found it creates a hash of the path | MaterialX/MaterialXUtils/MaterialXManager.h | ||
TSharedPtr< FMaterialXBase > GetShaderTranslator
(
const FString& CategoryShader, |
MaterialX/MaterialXUtils/MaterialXManager.h | ||
bool IsSubstrateAdaptiveGBufferEnabled() |
MaterialX/MaterialXUtils/MaterialXManager.h | ||
bool IsSubstrateEnabled() |
MaterialX/MaterialXUtils/MaterialXManager.h | ||
void RegisterMaterialXInstance
(
const FString& CategoryShader, |
MaterialX/MaterialXUtils/MaterialXManager.h | ||
void RemoveInputs
(
MaterialX::NodePtr Node |
Remove the inputs of a node with no match in UE Material Expressions | MaterialX/MaterialXUtils/MaterialXManager.h | |
bool Translate
(
const FString& Filename, |
Translate a MaterialX file | MaterialX/MaterialXUtils/MaterialXManager.h | |
bool Translate
(
MaterialX::DocumentPtr Document, |
Translate a MaterialX Document | MaterialX/MaterialXUtils/MaterialXManager.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FMaterialXManager & GetInstance() |
MaterialX/MaterialXUtils/MaterialXManager.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FMaterialXManager & operator=
(
const FMaterialXManager& |
MaterialX/MaterialXUtils/MaterialXManager.h |