Navigation
API > API/Runtime > API/Runtime/Engine
Classes
| Type | Name | Description | |
|---|---|---|---|
| FConnectionKey | Used to associate owner objects (such as UMaterialExpression) with the FExpressions used to generate their input This is currently only used to color pins/wires based on types in the material editor | ||
| FCustomHLSLInput | |||
| FEmitContext | Tracks shared state while emitting HLSL code | ||
| FEmitCustomHLSL | |||
| FEmitCustomHLSLInput | |||
| FEmitCustomHLSLParameterResult | |||
| FEmitOwnerScope | |||
| FEmitPreshaderScope | |||
| FEmitScope | FEmitScopes mostly track FScopes, except they hold transient state used while emitting HLSL The exception is FFunction, which allows FScopes to be dynamically injected into the hierarchy, which will result in FEmitScopes matching this dynamic hierarchy | ||
| FEmitShaderExpression | Represents an HLSL expression | ||
| FEmitShaderNode | |||
| FEmitShaderScopeEntry | |||
| FEmitShaderStatement | |||
| FEmitValuePreshaderResult | |||
| FEmitValueShaderResult | |||
| FErrorHandlerInterface | Used to report any errors generating when preparing the HLSLTree | ||
| FExpression | Represents an HLSL expression. | ||
| FExpressionAppend | |||
| FExpressionComponentMask | Similar to FExpressionSwizzle, except swizzle parameters are extracted from a 'Mask' expression, which is expected to generate a 'bool4' component mask (which is then used to initialize a FSwizzleParameters) The 'Mask' input is required to be constant (otherwise an error is generated) This is used to support material StaticParameterMask expressions, in most cases FExpressionSwizzle is a better choice | ||
| FExpressionConstant | |||
| FExpressionCustomHLSL | |||
| FExpressionDefaultValue | Forwards to another expression, but will fallback to the 'DefaultValue' constant if the forwarded expression fails | ||
| FExpressionDerivative | |||
| FExpressionDerivatives | |||
| FExpressionError | |||
| FExpressionFeatureLevelSwitch | |||
| FExpressionForward | Forwards all calls to the owned expression Intended to be used as a baseclass, where derived classes may hook certain method overrides | ||
| FExpressionGetStructField | |||
| FExpressionInlineCustomHLSL | Can be used to emit HLSL chunks with no inputs, where it's not worth the trouble of defining a new expression type | ||
| FExpressionQualitySwitch | |||
| FExpressionSelect | |||
| FExpressionSetStructField | |||
| FExpressionShaderStageSwitch | |||
| FExpressionShadingPathSwitch | |||
| FExpressionSwitchBase | |||
| FExpressionSwizzle | |||
| FFormatArgVariant | |||
| FFunction | Functions are a way to dynamically inject new scopes into the tree They are used to represent calls to material functions using execution flow, and to inject dynamic branches without explicit control flow | ||
| FHasher | |||
| FNode | Root class of the HLSL AST | ||
| FNullErrorHandler | |||
| FOperationDescription | |||
| FOwnedNode | 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: | ||
| FOwnerScope | |||
| FPreparedComponent | Prepared state for a single component. | ||
| FPreparedType | Represents the prepared type of an FExpression. | ||
| FPrepareValueResult | |||
| FPreshaderLocalPHIScope | |||
| FRequestedType | FRequestedType is used when accessing various FExpression methods. | ||
| FScope | Represents an HLSL scope. | ||
| FStatement | Represents an HLSL statement. | ||
| FStatementBreak | |||
| FStatementError | |||
| FStatementIf | |||
| FStatementLoop | |||
| FSwizzleParameters | |||
| FTargetParameters | |||
| FTree | The HLSL AST. Basically a wrapper around the root scope, with some helper methods |
Constants
| Name | Description |
|---|---|
| UE::HLSLTree::MaxNumPreviousScopes |
Typedefs
| Name | Description |
|---|---|
| FEmitShaderDependencies | |
| FEmitShaderScopeStack | |
| FFormatArgList |
Enums
| Type | Name | Description | |
|---|---|---|---|
| UE::HLSLTree::EDerivativeCoordinate | Copyright Epic Games, Inc. All Rights Reserved. | ||
| UE::HLSLTree::EEmitCastFlags | Copyright Epic Games, Inc. All Rights Reserved. | ||
| UE::HLSLTree::EEmitScopeFormat | Copyright Epic Games, Inc. All Rights Reserved. | ||
| UE::HLSLTree::EEmitScopeState | Copyright Epic Games, Inc. All Rights Reserved. | ||
| UE::HLSLTree::EExpressionEvaluation | Describes how a given expression needs to be evaluated | ||
| UE::HLSLTree::EFormatArgType | Copyright Epic Games, Inc. All Rights Reserved. | ||
| UE::HLSLTree::EOperation | Copyright Epic Games, Inc. All Rights Reserved. |