Navigation
API > API/Plugins > API/Plugins/Niagara
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UNiagaraMergeable
- UNiagaraDataInterfaceBase
- UNiagaraDataInterface
- UNiagaraDataInterfaceRWBase
- UNiagaraDataInterfaceParticleRead
References
| Module | Niagara |
| Header | /Engine/Plugins/FX/Niagara/Source/Niagara/Classes/NiagaraDataInterfaceParticleRead.h |
| Include | #include "NiagaraDataInterfaceParticleRead.h" |
Syntax
UCLASS (EditInlineNew, Category="ParticleRead", CollapseCategories,
Meta=(DisplayName="Particle Attribute Reader"), MinimalAPI)
class UNiagaraDataInterfaceParticleRead : public UNiagaraDataInterfaceRWBase
Constructors
| Type | Name | Description | |
|---|---|---|---|
UNiagaraDataInterfaceParticleRead
(
const FObjectInitializer& ObjectInitializer |
Functions
| Type | Name | Description | |
|---|---|---|---|
BEGIN_SHADER_PARAMETER_STRUCT
(
FShaderParameters |
|||
| void | GetIndexFunctions
(
TArray< FNiagaraFunctionSignature >& OutFunctions |
||
| void | GetNumParticles
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetNumSpawnedParticles
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetParticleIndex
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetParticleIndexFromIDTable
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetPersistentIDFunctions
(
TArray< FNiagaraFunctionSignature >& OutFunctions |
||
| void | GetSpawnedIDAtIndex
(
FVectorVMExternalFunctionContext& Context |
||
| void | |||
| void | ReadBoolByIndex
(
FVectorVMExternalFunctionContext& Context, |
||
| void | |||
| void | ReadColorByIndex
(
FVectorVMExternalFunctionContext& Context, |
||
| void | |||
| void | ReadFloatByIndex
(
FVectorVMExternalFunctionContext& Context, |
||
| void | |||
| void | ReadIDByIndex
(
FVectorVMExternalFunctionContext& Context, |
||
| void | |||
| void | ReadIntByIndex
(
FVectorVMExternalFunctionContext& Context, |
||
| void | ReadPosition
(
FVectorVMExternalFunctionContext& Context, |
||
| void | ReadPositionByIndex
(
FVectorVMExternalFunctionContext& Context, |
||
| void | |||
| void | ReadQuatByIndex
(
FVectorVMExternalFunctionContext& Context, |
||
| void | ReadVector2
(
FVectorVMExternalFunctionContext& Context, |
||
| void | ReadVector2ByIndex
(
FVectorVMExternalFunctionContext& Context, |
||
| void | ReadVector3
(
FVectorVMExternalFunctionContext& Context, |
||
| void | ReadVector3ByIndex
(
FVectorVMExternalFunctionContext& Context, |
||
| void | ReadVector4
(
FVectorVMExternalFunctionContext& Context, |
||
| void | ReadVector4ByIndex
(
FVectorVMExternalFunctionContext& Context, |
||
| NumSpawnedParticles | SHADER_PARAMETER
(
int, |
||
| NumSpawnedParticles InstanceCountOffset | SHADER_PARAMETER
(
uint32, |
||
| NumSpawnedParticles InstanceCountOffset ParticleStrideInt | SHADER_PARAMETER
(
uint32, |
||
| NumSpawnedParticles InstanceCountOffset ParticleStrideInt AcquireTagRegisterIndex | SHADER_PARAMETER_SRV
(
Buffer< int >, |
||
| NumSpawnedParticles InstanceCountOffset ParticleStrideInt AcquireTagRegisterIndex IDToIndexTable | SHADER_PARAMETER_SRV
(
Buffer< float >, |
||
| void | VMGetLocalSpace
(
FVectorVMExternalFunctionContext& Context |
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. | |
| void | GetEmitterDependencies
(
UNiagaraSystem* Asset, |
Allows a DI to specify data dependencies between emitters, so the system can ensure that the emitter instances are executed in the correct order. | |
| void | GetEmitterReferencesByName
(
TArray< FString >& EmitterReferences |
||
| void | GetFeedback
(
UNiagaraSystem* InAsset, |
Query the data interface to give feedback to the end user. | |
| 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. | |
| FNiagaraDataInterfaceParametersCS * | CreateShaderStorage
(
const FNiagaraDataInterfaceGPUParamInfo& ParameterInfo, |
Optional storage that can be created per shader when not in legacy binding mode. | |
| const FTypeLayoutDesc * | If we create shader storage we must also supply the type of the storage so we understand how to serialize it. | ||
| bool | HasInternalAttributeReads
(
const UNiagaraEmitter* OwnerEmitter, |
Returns true if the DI (owned by OwnerEmitter) reads any attributes from the Provider emitter |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Called when a property on this object has been modified externally | |
| NumSpawnedParticles InstanceCountOffset ParticleStrideInt AcquireTagRegisterIndex IDToIndexTable Inp... | Selects which emitter the data interface will bind to, i.e the emitter we are contained within or a named emitter. | ||
| void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. |
Deprecated Variables
| Type | Name | Description | |
|---|---|---|---|
| FString | EmitterName_DEPRECATED |