Navigation
API > API/Plugins > API/Plugins/Niagara
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UNiagaraMergeable
- UNiagaraDataInterfaceBase
- UNiagaraDataInterface
- UNiagaraDataInterfaceRWBase
- UNiagaraDataInterfaceArray
- UNiagaraDataInterfaceArrayBool
- UNiagaraDataInterfaceArrayColor
- UNiagaraDataInterfaceArrayFloat
- UNiagaraDataInterfaceArrayFloat2
- UNiagaraDataInterfaceArrayFloat3
- UNiagaraDataInterfaceArrayFloat4
- UNiagaraDataInterfaceArrayInt32
- UNiagaraDataInterfaceArrayMatrix
- UNiagaraDataInterfaceArrayNiagaraID
- UNiagaraDataInterfaceArrayPosition
- UNiagaraDataInterfaceArrayQuat
- UNiagaraDataInterfaceArrayUInt8
References
Module | Niagara |
Header | /Engine/Plugins/FX/Niagara/Source/Niagara/Classes/NiagaraDataInterfaceArray.h |
Include | #include "NiagaraDataInterfaceArray.h" |
Syntax
UCLASS (Abstract, EditInlineNew, MinimalAPI)
class UNiagaraDataInterfaceArray :
public UNiagaraDataInterfaceRWBase ,
public INiagaraSimCacheCustomStorageInterface
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
FRWLock | ArrayRWGuard | ReadWrite lock to ensure safe access to the underlying array. |
![]() ![]() ![]() ![]() |
ENiagaraGpuSyncMode | GpuSyncMode | How to do we want to synchronize modifications to the array data. |
![]() ![]() ![]() ![]() |
int32 | MaxElements | When greater than 0 sets the maximum number of elements the array can hold, only relevant when using operations that modify the array size. |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
UNiagaraDataInterfaceArray
(
const FObjectInitializer& ObjectInitializer |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
FString | SimCacheVisualizerRead
(
const UNDIArraySimCacheData* CacheData, |
Overridden from UNiagaraDataInterface
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
bool | AppendCompileHash
(
FNiagaraCompileHashVisitor* InVisitor |
Allows the generic class defaults version of this class to specify any dependencies/version/etc that might invalidate the compile. |
![]() ![]() ![]() |
bool | CanExecuteOnTarget
(
ENiagaraSimTarget Target |
|
![]() ![]() ![]() |
bool | CopyToInternal
(
UNiagaraDataInterface* Destination |
|
![]() ![]() |
void | DestroyPerInstanceData
(
void* PerInstanceData, |
Destroys the per instance data for this interface. |
![]() ![]() ![]() |
bool | Equals
(
const UNiagaraDataInterface* Other |
Determines if this DataInterface is the same as another. |
![]() ![]() |
bool | GetFunctionHLSL
(
const FNiagaraDataInterfaceGPUParamInfo& ParamInfo, |
|
![]() ![]() ![]() |
void | GetFunctionsInternal
(
TArray< FNiagaraFunctionSignature >& OutFunctions |
|
![]() ![]() |
void | GetParameterDefinitionHLSL
(
const FNiagaraDataInterfaceGPUParamInfo& ParamInfo, |
|
![]() ![]() |
void | GetVMExternalFunction
(
const FVMExternalFunctionBindingInfo& BindingInfo, |
Returns the delegate for the passed function signature. |
![]() ![]() |
bool | InitPerInstanceData
(
void* PerInstanceData, |
Initializes the per instance data for this interface. |
![]() ![]() ![]() |
int32 | Returns the size of the per instance data for this interface. | |
![]() ![]() |
void | ProvidePerInstanceDataForRenderThread
(
void* DataForRenderThread, |
Subclasses that wish to work with GPU systems/emitters must implement this. |
![]() ![]() ![]() |
void | SetShaderParameters
(
const FNiagaraDataInterfaceSetShaderParametersContext& Context |
Set the shader parameters will only be called if the data interface provided shader parameters. |
![]() ![]() |
bool | UpgradeFunctionCall
(
FNiagaraFunctionSignature& FunctionSignature |
Allows data interfaces the opportunity to rename / change the function signature and perform an upgrade. |
Overridden from UNiagaraDataInterfaceBase
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
void | BuildShaderParameters
(
FNiagaraShaderParametersBuilder& ShaderParametersBuilder |
Override this method to provide parameters to the GPU (SRV / UAV / Constants / etc) The most common usage will be to provide a single structure which is nested with other parameters. |
Overridden from UObject
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Called when a property on this object has been modified externally |
![]() ![]() |
void | Called after the C++ constructor and after the properties have been initialized, including those loaded from config. | |
![]() ![]() |
void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. |
Overridden from INiagaraSimCacheCustomStorageInterface
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
UObject * | SimCacheBeginWrite
(
UObject* SimCache, |
Called when we begin to write data into a simulation cache. |
![]() ![]() ![]() |
bool | SimCacheCompareFrame
(
const UObject* LhsStorageObject, |
Called to compare a frame between two separate simulation cache storages. |
![]() ![]() |
bool | SimCacheReadFrame
(
UObject* StorageObject, |
Virtual bool SimCacheEndWrite(UObject* StorageObject) const override; |
![]() ![]() ![]() |
bool | SimCacheWriteFrame
(
UObject* StorageObject, |
Called when we are ready to write data into the simulation cache. |