Navigation
API > API/Plugins > API/Plugins/NiagaraCore > API/Plugins/NiagaraCore/UNiagaraDataInterfaceBase
- UNiagaraDataInterfaceBase::BuildShaderParameters()
- UNiagaraDataInterfaceOcclusion::BuildShaderParameters()
- UNiagaraDataInterfaceSpriteRendererInfo::BuildShaderParameters()
- UNiagaraDataInterfaceIntRenderTarget2D::BuildShaderParameters()
- UNiagaraDataInterfaceMeshRendererInfo::BuildShaderParameters()
- UNiagaraDataInterfaceCurlNoise::BuildShaderParameters()
- UNiagaraDataInterfaceVolumeCache::BuildShaderParameters()
- UNiagaraDataInterfaceParticleRead::BuildShaderParameters()
- UNiagaraDataInterface2DArrayTexture::BuildShaderParameters()
- UNiagaraDataInterfaceVolumeTexture::BuildShaderParameters()
- UNiagaraDataInterfaceCubeTexture::BuildShaderParameters()
- UNiagaraDataInterfaceAsyncGpuTrace::BuildShaderParameters()
- UNiagaraDataInterfaceCamera::BuildShaderParameters()
- UNiagaraDataInterfaceTexture::BuildShaderParameters()
- UNiagaraDataInterfaceVectorField::BuildShaderParameters()
- UNiagaraDataInterfaceSparseVolumeTexture::BuildShaderParameters()
- UNiagaraDataInterfaceCollisionQuery::BuildShaderParameters()
- UNiagaraDataInterfaceLandscape::BuildShaderParameters()
- UNiagaraDataInterfacePhysicsField::BuildShaderParameters()
- UNiagaraDataInterfaceRenderTargetCube::BuildShaderParameters()
- UNiagaraDataInterfaceExport::BuildShaderParameters()
- UNiagaraDataInterfaceRenderTargetVolume::BuildShaderParameters()
- UNiagaraDataInterfaceRenderTarget2DArray::BuildShaderParameters()
- UNiagaraDataInterfaceRenderTarget2D::BuildShaderParameters()
- UNiagaraDataInterfaceRasterizationGrid3D::BuildShaderParameters()
- UNiagaraDataInterfaceNeighborGrid3D::BuildShaderParameters()
- UNiagaraDataInterfaceVelocityGrid::BuildShaderParameters()
- UNiagaraDataInterfaceArray::BuildShaderParameters()
- UNiagaraDataInterfaceCurveBase::BuildShaderParameters()
- UNiagaraDataInterfaceAudioOscilloscope::BuildShaderParameters()
- UNiagaraDataInterfacePhysicsAsset::BuildShaderParameters()
- UNiagaraDataInterfaceGrid2DCollection::BuildShaderParameters()
- UNiagaraDataInterfaceGeometryCollection::BuildShaderParameters()
- UNiagaraDataInterfaceGrid3DCollection::BuildShaderParameters()
- UNiagaraDataInterfaceAudioSpectrum::BuildShaderParameters()
- UNiagaraDataInterfaceSpline::BuildShaderParameters()
- UNiagaraDataInterfaceRigidMeshCollisionQuery::BuildShaderParameters()
- UNiagaraDataInterfaceHairStrands::BuildShaderParameters()
- UNiagaraDataInterfaceChaosDestruction::BuildShaderParameters()
- UNiagaraDataInterfaceSkeletalMesh::BuildShaderParameters()
References
| Module | NiagaraCore |
| Header | /Engine/Plugins/FX/Niagara/Source/NiagaraCore/Public/NiagaraDataInterfaceBase.h |
| Include | #include "NiagaraDataInterfaceBase.h" |
virtual void BuildShaderParameters
&40;
FNiagaraShaderParametersBuilder & ShaderParametersBuilder
&41; const
Remarks
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. The structure would be declared like this BEGIN_SHADER_PARAMETER_STRUCT(FMyShaderParameters, )SHADER_PARAMETER(float, MyValue)SHADER_PARAMETER_SRV(Buffer
And inside the override BuildShaderParameters you would simple add the structure ShaderParametersBuilder.AddNestedStruct
You should also ensure that AppendCompileHash includes the parameters like this InVisitor->UpdateShaderParameters
When filling the data inside the set function you would ask for parameters using the same structure. Note: This function is only called on the CDO only not the instance