Navigation
API > API/Runtime > API/Runtime/Engine > API/Runtime/Engine/HLSLTree
Inheritance Hierarchy
- FNode
- FOwnedNode
- FExpression
- FExpressionAppend
- FExpressionCollectionParameter
- FExpressionComponentMask
- FExpressionConstant
- FExpressionCustomHLSL
- FExpressionDerivative
- FExpressionDynamicParameter
- FExpressionError
- FExpressionExternalInput
- FExpressionForward
- FExpressionDefaultValue
- FExpressionFunctionCall
- FExpressionMaterialLayers
- FExpressionGetStructField
- FExpressionInlineCustomHLSL
- FExpressionNoise
- FExpressionParameter
- FExpressionSceneTexture
- FExpressionSelect
- FExpressionSetStructField
- FExpressionShadingModel
- FExpressionSkyAtmosphereLightDirection
- FExpressionSkyLightEnvMapSample
- FExpressionSwitchBase
- FExpressionFeatureLevelSwitch
- FExpressionQualitySwitch
- FExpressionShaderStageSwitch
- FExpressionShadingPathSwitch
- FExpressionSwizzle
- FExpressionTextureSample
- FExpressionTextureSize
- FExpressionVertexInterpolator
- FStatement
- FStatementBreak
- FStatementError
- FStatementIf
- FStatementLoop
References
| Module | Engine |
| Header | /Engine/Source/Runtime/Engine/Public/HLSLTree/HLSLTree.h |
| Include | #include "HLSLTree/HLSLTree.h" |
Syntax
class FOwnedNode : public UE::HLSLTree::FNode
Remarks
OwnedNodes track 1 or more UObject 'owners' When generating HLSLTree for materials, the owner will typically be the UMaterialExpression that created the node, or the UMaterial itself Since certain nodes (FExpressions) are deduplicated and shared, it's possible to have multiple owners, if multiple owners attempt to create a node with the same parameters Tracking owners is important for the following reasons:
- Attributing any generated errors to the owner(s)
- Tracking input/output types (to color wires/pins in the material editor for example)