Navigation
API > API/Plugins > API/Plugins/PCG
Marshals kernel overridable params to the GPU.
Usage:
- Automatic: If a kernel sets bRequiresOverridableParams during creation, an instance of this class is automatically created during graph compilation.
- Extra (non-overridable) params: If a kernel also needs to marshal additional data to the GPU (e.g. resolved attribute IDs, RDG buffers), create a separate UPCGComputeDataInterface subclass for those and add it in CreateAdditionalInputDataInterfaces. The auto-created kernel params DI handles override params independently.
- Full override: If a kernel needs complete control over how override params are marshalled, create a UPCGKernelParamsDataInterface subclass and add it in CreateAdditionalInputDataInterfaces. This suppresses auto-creation.
| Name | UPCGKernelParamsDataInterface |
| Type | class |
| Header File | /Engine/Plugins/PCG/Source/PCG/Public/Compute/DataInterfaces/PCGComputeDataInterface.h |
| Include Path | #include "Compute/DataInterfaces/PCGComputeDataInterface.h" |
Syntax
UCLASS (MinimalAPI, ClassGroup=(Procedural))
class UPCGKernelParamsDataInterface : public UPCGComputeDataInterface
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UComputeDataInterface → UPCGComputeDataInterface → UPCGKernelParamsDataInterface
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| CachedKernelParamLayout | FPCGKernelParamLayout | Byte-level layout of override params, cached once and reused by the data provider. | Compute/DataInterfaces/PCGComputeDataInterface.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const FPCGKernelParamLayout & GetKernelParamLayout() |
Returns the cached param layout. Built once on first access. | Compute/DataInterfaces/PCGComputeDataInterface.h |
Public Virtual
Overridden from UComputeDataInterface
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual UComputeDataProvider * CreateDataProvider() |
Compute/DataInterfaces/PCGComputeDataInterface.h | ||
virtual TCHAR const * GetClassName() |
Compute/DataInterfaces/PCGComputeDataInterface.h | ||
| Compute/DataInterfaces/PCGComputeDataInterface.h | |||
virtual void GetShaderParameters
(
TCHAR const* UID, |
Compute/DataInterfaces/PCGComputeDataInterface.h | ||
virtual void GetSupportedInputs
(
TArray< FShaderFunctionDefinition >& OutFunctions |
Compute/DataInterfaces/PCGComputeDataInterface.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddKernelShaderParams
(
FShaderParametersMetadataBuilder& InOutBuilder, |
Add override param members to a shader parameter builder. | Compute/DataInterfaces/PCGComputeDataInterface.h |