Navigation
| Name | OptimusCore |
| Type | Plugin |
| Part of Plugins | Deformer Graph |
| Location | /Engine/Plugins/Animation/DeformerGraph/Source/OptimusCore/ |
| Module Build Rules | OptimusCore.Build.cs |
Classes
Structs
| Name | Remarks |
|---|---|
| FExpressionObject | |
| FOptimus_InterfaceBinding | Maps the data interface's data binding index to the function we would like to have present during kernel compilation to read/write values from/to that data interface's resource. |
| FOptimus_KernelConnection | |
| FOptimus_KernelParameterBinding | A map that goes from a value/variable node to a compute shader input parameter. |
| FOptimusCDIPinDefinition | |
| FOptimusCDIPropertyPinDefinition | |
| FOptimusCompilerDiagnostic | |
| FOptimusComputeGraphInfo | |
| FOptimusConstant | |
| FOptimusConstantContainer | |
| FOptimusConstantContainerInstance | |
| FOptimusConstantDefinition | |
| FOptimusConstantIdentifier | |
| FOptimusConstantIndex | |
| FOptimusDataDomain | A struct to specify the domain range of a resource buffer, as defined by compute kernels and data interfaces. |
| FOptimusDataInterfacePropertyOverrideInfo | |
| FOptimusDataTypeRef | A reference object for an Optimus data type to use in UObjects and other UStruct-like things |
| FOptimusDeformerInstanceComponentBinding | Defines a binding between a component provider in the graph and an actor component in the component hierarchy on the actor whose deformable component we're bound to. |
| FOptimusDeformerInstanceExecInfo | Structure with cached state for a single compute graph. |
| FOptimusExecutionDomain | A struct to hold onto a single-level domain for controlling a kernel's execution domain. |
| FOptimusFunctionGraphIdentifier | |
| FOptimusFunctionNodeGraphHeader | |
| FOptimusFunctionNodeGraphHeaderArray | |
| FOptimusFunctionNodeGraphHeaderWithGuid | |
| FOptimusFunctionNodeGraphHeaderWithGuidArray | |
| FOptimusFunctionReferenceData | |
| FOptimusFunctionReferenceNodeSet | |
| FOptimusKernelConstantContainer | |
| FOptimusNodeGraphCompilationResult | |
| FOptimusObjectVersion | |
| FOptimusParameterBinding | |
| FOptimusParameterBindingArray | |
| FOptimusPinTraversalContext | The context used for doing the pin traversal using the IOptimusNodePinRouter interface. |
| FOptimusRoutedConstNode | |
| FOptimusRoutedConstNodePin | |
| FOptimusRoutedNode | A utility struct for when traversing the graph through routed nodes. |
| FOptimusRoutedNodePin | A utility structure to store information on routed pins when getting routed connections. |
| FOptimusShaderText | |
| FOptimusValidatedName | Structure containing a FName that has been validated for use as a variable or function name in HLSL code. |
| FOptimusValueContainerStruct | |
| FOptimusValueDescription | |
| FOptimusValueIdentifier | |
| FOptimusVariableMetaDataEntry | |
| FParseError | |
| FParseLocation | |
| FUniqueNameGenerator | Given an object scope, generate names that is not only unique within the scope, but also unique among all names generated before. |
Interfaces
| Name | Remarks |
|---|---|
| IOptimusAlternativeSelectedObjectProvider | |
| IOptimusComponentBindingProvider | |
| IOptimusComponentBindingReceiver | |
| IOptimusComputeKernelDataInterface | Interface that provides a mechanism for compute kernel to setup its kernel data interface |
| IOptimusComputeKernelProvider | Interface that provides a mechanism to identify and work with node graph owners. |
| IOptimusCoreModule | |
| IOptimusDataInterfaceProvider | |
| IOptimusDeformerAssetPathAccessor | |
| IOptimusDeformerGeometryReadbackProvider | |
| IOptimusDeformerInstanceAccessor | |
| IOptimusDeprecatedExecutionDataInterface | An interface that should be implemented by any legacy Data Interface Node whose data interface is an execution data interface. |
| IOptimusDeveloperModule | |
| IOptimusExecutionDomainProvider | An interface that should be implemented by any class that has an FOptimusExecutionDomain member. |
| IOptimusGeneratedClassDefiner | FIXME: A stop-gap shader value provider until we have a proper pin evaluation that handles paths that have a constant, computed, varying and a mix thereof, results. |
| IOptimusNodeAdderPinProvider | Interface that provides a mechanism to add pins to node from existing pins |
| IOptimusNodeFunctionLibraryOwner | Interface that provides a mechanism to identify and work with node function library owners |
| IOptimusNodeGraphCollectionOwner | Interface that provides a mechanism to identify and work with node graph owners. |
| IOptimusNodeGraphProvider | Interface that provides a mechanism to get a node graph to display |
| IOptimusNodePairProvider | Interface that provides a mechanism to add pins to node from existing pins |
| IOptimusNodePinRouter | |
| IOptimusNodeSubGraphReferencer | Interface that provides a mechanism to get a node graph to display |
| IOptimusNonCollapsibleNode | Interface that provides a mechanism to prevent node from being included in a subgraph |
| IOptimusNonCopyableNode | Interface that provides a mechanism to prevent node from being included in a subgraph |
| IOptimusOutputBufferWriter | An interface that should be implemented by data interfaces that overrides some engine internal buffers |
| IOptimusParameterBindingProvider | Interface that provides a mechanism to query information about parameter bindings |
| IOptimusPathResolver | |
| IOptimusPersistentBufferProvider | |
| IOptimusPinMutabilityDefiner | |
| IOptimusPropertyPinProvider | |
| IOptimusShaderTextProvider | Interface for shader text edit widgets including the gathering of compilation diagnostics for display. |
| IOptimusUnnamedNodePinProvider | Interface that provides a mechanism to add pins to node from existing pins |
| IOptimusValueProvider | FIXME: A stop-gap shader value provider until we have a proper pin evaluation that handles paths that have a constant, computed, varying and a mix thereof, results. |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnOptimusCommentNodePropertyChanged | TBaseDelegate_OneParam< void, UOptimusNode_Comment * > | OptimusNode_Comment.h | |
| FOptimus_ComputeKernelResult | TVariant< UOptimusKernelSource *, FText > | IOptimusComputeKernelProvider.h | |
| FOptimus_InterfaceBindingMap | TMap< int32, FOptimus_InterfaceBinding > | IOptimusComputeKernelProvider.h | |
| FOptimus_KernelInputMap | TMap< const UOptimusNodePin *, FOptimus_KernelConnection > | IOptimusComputeKernelProvider.h | |
| FOptimus_KernelOutputMap | TMap< const UOptimusNodePin *, TArray< FOptimus_KernelConnection > > | IOptimusComputeKernelProvider.h | |
| FOptimus_KernelParameterBindingList | TArray< FOptimus_KernelParameterBinding > | IOptimusComputeKernelProvider.h | |
| FOptimusCompileBegin | TMulticastDelegate_OneParam< void, UOptimusDeformer * > | OptimusDeformer.h | |
| FOptimusCompileEnd | TMulticastDelegate_OneParam< void, UOptimusDeformer * > | OptimusDeformer.h | |
| FOptimusConstantValueUpdate | TMulticastDelegate_TwoParams< void, TSoftObjectPtr< UObject >, FOptimusValueContainerStruct const & > | OptimusDeformer.h | |
| FOptimusDataTypeHandle | TSharedPtr< const FOptimusDataType > | OptimusDataType.h | |
| FOptimusGlobalNotifyDelegate | TMulticastDelegate_TwoParams< void, EOptimusGlobalNotifyType, UObject * > | A delegate for subscribing / reacting to Optimus global notifications. | OptimusCoreNotify.h |
| FOptimusGraphCompileMessageDelegate | TMulticastDelegate_OneParam< void, FOptimusCompilerDiagnostic const & > | OptimusDeformer.h | |
| FOptimusGraphNotifyDelegate | TMulticastDelegate_ThreeParams< void, EOptimusGraphNotifyType, UOptimusNodeGraph *, UObject * > | A delegate for subscribing / reacting to Optimus graph local notifications. | OptimusCoreNotify.h |
| FOptimusPersistentBufferPoolPtr | TSharedPtr< FOptimusPersistentBufferPool > | OptimusDeformerInstance.h | |
| FOptimusSetAllInstancesCanbeActive | TMulticastDelegate_OneParam< void, bool > | OptimusDeformer.h | |
| FParseResult | TVariant< FExpressionObject, FParseError > | OptimusExpressionEvaluator.h |
Enums
Public
| Name | Remarks |
|---|---|
| EOptimusConstantType | |
| EOptimusDataDomainType | |
| EOptimusDataTypeUsageFlags | These flags govern how the data type can be used |
| EOptimusDeformerExecutionPhase | |
| EOptimusDeformerStatus | |
| EOptimusDiagnosticLevel | |
| EOptimusExecutionDomainType | |
| EOptimusGlobalNotifyType | |
| EOptimusGraphNotifyType | |
| EOptimusNodeGraphType | The use type of a particular graph |
| EOptimusNodePinDirection | Specifies the storage type of the pin data |
| EOptimusNodePinTraversalDirection | |
| EOptimusPinMutability | |
| EOptimusValueType | |
| EOptimusValueUsage |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| DataType | FOptimusDataTypeRef | OptimusBindingTypes.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
ENUM_CLASS_FLAGS(EOptimusDataTypeUsageFlags) enum class EOptimusDataTypeFlags ENUM_CLASS_FLAGS
(
EOptimusDataTypeFlags |
These flags are for indicating type behaviour | OptimusDataType.h | |
| OptimusValue.h | |||
bool IsValid() |
Returns true if the binding is valid and has defined entries | OptimusBindingTypes.h | |
const void Optimus::ConvertFTransformToFMatrix3x4
(
const FTransform& InTransform, |
OptimusHelpers.h | ||
FMatrix44f Optimus::ConvertFTransformToFMatrix44f
(
const FTransform& InTransform |
OptimusHelpers.h | ||
void Optimus::ConvertObjectPathToShaderFilePath
(
FString& InOutPath |
Helpers to convert UObject path to a virtual shader paths. | OptimusHelpers.h | |
bool Optimus::ConvertShaderFilePathToObjectPath
(
FString& InOutPath |
Helpers to convert a virtual shader path back to a UObject path. | OptimusHelpers.h | |
bool Optimus::EvaluateExecutionDomainExpressionParseResult
(
const TVariant< Expression::FExpressionObject, Expression::FParseError >& InParseResult, |
OptimusHelpers.h | ||
| OptimusHelpers.h | |||
| OptimusHelpers.h | |||
T * Optimus::FindObjectInPackageOrGlobal
(
const FString& InObjectPath |
Attempts to find an object, first within a specific package, if the dot prefix points to a known package, otherwise fall back to searching globally. | OptimusHelpers.h | |
| OptimusDataDomain.h | |||
| OptimusHelpers.h | |||
| Our generated classes are parented to the package, this is a utility function to collect them | OptimusHelpers.h | ||
| OptimusHelpers.h | |||
const TCHAR * Optimus::GetKernelInternalNamespaceName() |
OptimusHelpers.h | ||
FName Optimus::GetMemberPropertyShaderName
(
UScriptStruct* InStruct, |
Helper function to remove guids from member property names for user defined structs | OptimusHelpers.h | |
| OptimusHelpers.h | |||
FText Optimus::GetTypeDisplayName
(
UScriptStruct* InStruct |
Return the display name for the struct to be shown in type pickers | OptimusHelpers.h | |
FName Optimus::GetTypeName
(
const FAssetData& InStructAsset |
Return the unique type name for registry and kernel code generation. | OptimusHelpers.h | |
FName Optimus::GetTypeName
(
UScriptStruct* InStruct, |
Return the unique type name for registry and kernel code generation if the bInShouldGetUniqueNameForUserDefinedStruct = true Otherise, it returns the friendly name for user-facing shader text display | OptimusHelpers.h | |
FName Optimus::GetUniqueNameForScope
(
UObject* InScopeObj, |
Given an object scope, ensure that the given name is unique within that scope. | OptimusHelpers.h | |
TVariant< bool, FText > Optimus::IsExecutionDomainUnifiedDispatchOnly
(
const FString& InExpression, |
OptimusHelpers.h | ||
bool Optimus::IsSkinWeightProfileAvailable
(
const FSkeletalMeshLODRenderData& InLODRenderData, |
OptimusHelpers.h | ||
| OptimusHelpers.h | |||
Expression::FParseResult Optimus::ParseExecutionDomainExpression
(
const FString& InExpression, |
OptimusHelpers.h | ||
void Optimus::RemoveObject
(
UObject* InObjectToRemove |
Use this function to remove objects during postload safely | OptimusHelpers.h | |
| OptimusHelpers.h | |||
| OptimusHelpers.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static bool Optimus::IsExecutionGraphType
(
EOptimusNodeGraphType InGraphType |
OptimusNodeGraph.h |