Navigation
API > API/Plugins > API/Plugins/InterchangeImport
| Name | FMaterialXSurfaceShaderAbstract |
| Type | class |
| Header File | /Engine/Plugins/Interchange/Runtime/Source/Import/Public/MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h |
| Include Path | #include "MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h" |
Syntax
class FMaterialXSurfaceShaderAbstract : public FMaterialXBase
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → FMaterialXBase → FMaterialXSurfaceShaderAbstract
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FMaterialXSurfaceShaderAbstract
(
UInterchangeBaseNodeContainer& BaseNodeContainer |
Get the normal input of a surfaceshader, used to plug it in the displacementshader | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h |
Structs
| Name | Remarks |
|---|---|
| FConnectNode |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FNodeOutput | TPair< FString, FString > | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
| FOnConnectNodeOutputToInput | TBaseDelegate_OneParam< void, const FConnectNode & > | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| DefaultOutput | FString | MaterialX states the default output name of the different nodes is 'out'. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h |
| EmptyString | FString | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual MaterialX::InputPtr GetInputNormal
(
MaterialX::NodePtr Node, |
Get the normal input of a surfaceshader, used to plug it in the displacementshader | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool AddAttribute
(
MaterialX::InputPtr Input, |
Add an attribute to a shader node from the given MaterialX input. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
bool AddAttributeFromValueOrInterface
(
MaterialX::InputPtr Input, |
Add an attribute to a shader node from the given MaterialX input if that input has either a value or an interface name. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
bool AddBooleanAttribute
(
MaterialX::InputPtr Input, |
Add a bool attribute to a shader node only if its value taken from the input is not equal to its default value. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
bool AddFloatAttribute
(
MaterialX::InputPtr Input, |
Add a float attribute to a shader node only if its value taken from the input is not equal to its default value. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
bool AddIntegerAttribute
(
MaterialX::InputPtr Input, |
Add an integer attribute to a shader node only if its value taken from the input is not equal to its default value. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
bool AddLinearColorAttribute
(
MaterialX::InputPtr Input, |
Add an FLinearColor attribute to a shader node only if its value taken from the input is not equal to its default value. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
bool AddVector2Attribute
(
MaterialX::InputPtr Input, |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
bool AddVectorAttribute
(
MaterialX::InputPtr Input, |
Add an FLinearColor attribute to a shader node only if its value taken from the input is not equal to its default value. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
void ConnectAndInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectBitangentInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectBlurInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectCellNoise2DInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectCellNoise3DInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectConstantInputToOutput
(
const FConnectNode& Connect |
Begin Connect MaterialX nodes |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
void ConnectDotInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectExtractInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectHeightToNormalInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectIfEqualInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectIfGreaterEqInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectIfGreaterInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectImageInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
bool ConnectMatchingNodeOutputToInput
(
const FConnectNode& Connect |
Create and connect the output of a MaterialX node that has already a matching in UE to a shader node. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
void ConnectNodeCategoryOutputToInput
(
const MaterialX::Edge& Edge, |
Create and connect manually the output of a MaterialX node to a shader node. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
bool ConnectNodeGraphOutputToInput
(
MaterialX::InputPtr InputToNodeGraph, |
Connect an ouput in the NodeGraph to the ShaderGraph. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
bool ConnectNodeNameOutputToInput
(
MaterialX::InputPtr Input, |
Create and connect a node name directly connected from an input to a shader node. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
bool ConnectNodeOutputToInput
(
const char* InputName, |
Connect an output either from a node name or a node graph from a MaterialX input to the shader node. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
void ConnectNoise2DInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectNoise3DInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectNormalInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectNormalMapInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectNotInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectOrInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectOutsideInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectPositionInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectRefractInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectRotate2DInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectRotate3DInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectSparseVolumeInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectSwitchInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectTangentInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectTexCoordInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectTimeInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectTransformPositionInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectTransformVectorInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectViewDirectionInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectWorleyNoise2DInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectWorleyNoise3DInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void ConnectXorInputToOutput
(
const FConnectNode& Connect |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
UInterchangeFunctionCallShaderNode * CreateFunctionCallShaderNode
(
MaterialX::ElementPtr Element, |
Helper function to create an InterchangeFunctionCallShaderNode. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
UInterchangeFunctionCallShaderNode * CreateFunctionCallShaderNode
(
MaterialX::ElementPtr Element, |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
UInterchangeShaderNode * CreateMaskShaderNode
(
uint8 RGBA, |
End Connect MaterialX nodes Create a ComponentMask shader node. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
UInterchangeShaderNode * CreateShaderNode
(
MaterialX::ElementPtr Element, |
Helper function to create an InterchangeShaderNode. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
UInterchangeTextureNode * CreateTextureNode
(
MaterialX::NodePtr Node |
Helper function to create an InterchangeTextureNode. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
FString GetAttributeParentName
(
MaterialX::NodePtr Node, |
Retrieve the Interchange parent name of a MaterialX node. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
FString GetFilePrefix
(
MaterialX::ElementPtr Element |
Return the innermost file prefix of an element in the current scope. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
FString GetInputName
(
MaterialX::InputPtr Input |
Get the input name. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
const FString & GetMatchedInputName
(
MaterialX::NodePtr Node, |
Get the UE corresponding name of a MaterialX Node category and input for a material. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
FString GetUniqueName
(
MaterialX::ElementPtr Element |
Ensure that we put in the node container the unique name, 2 nodes in a same file may have the same name as long as their parent's name is different, we just traverse the whole hierarchy to have a unique name | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
FLinearColor GetVector
(
MaterialX::InputPtr Input |
Helper function that returns a vector. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
virtual void RegisterConnectNodeOutputToInputDelegates() |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | ||
void SetAttributeNewName
(
MaterialX::InputPtr Input, |
Add the input new name under the attribute UE::NewName. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
void SetMatchingInputsNames
(
MaterialX::NodePtr Node |
Set the matching inputs names of a node to correspond to the one used by UE. | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
UInterchangeShaderNode * Translate
(
UInterchangeShaderNode* ShaderNode |
This function should be called first by the Translate method of derived class, SurfaceShaderNode should initialized first by the derived class | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h | |
UInterchangeShaderNode * Translate
(
EInterchangeMaterialXShaders ShaderType |
This function should be called first by the Translate method of derived class, SurfaceShaderNode should initialized first by the derived class | MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h |
Overridden from FMaterialXBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UInterchangeBaseNode * Translate
(
MaterialX::NodePtr ShaderNode |
MaterialX/MaterialXUtils/MaterialXSurfaceShaderAbstract.h |