UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ParticleBeamTrailVertexFactory.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 ParticleBeamTrailVertexFactory.h: Shared Particle Beam and Trail vertex
5 factory definitions.
6=============================================================================*/
7
8#pragma once
9
10#include "CoreMinimal.h"
11#include "UniformBuffer.h"
12#include "VertexFactory.h"
14
15class FMaterial;
16
23 SHADER_PARAMETER( FVector4f, ScreenAlignment )
24 SHADER_PARAMETER( uint32, bUseLocalSpace)
28
33{
35
36public:
37
41 , IndexBuffer(nullptr)
42 , FirstIndex(0)
43 , OutTriangleCount(0)
44 , bUsesDynamicParameter(true)
45 {}
46
49 , IndexBuffer(nullptr)
50 , FirstIndex(0)
51 , OutTriangleCount(0)
52 , bUsesDynamicParameter(true)
53 {}
54
58 static ENGINE_API bool ShouldCompilePermutation(const FVertexFactoryShaderPermutationParameters& Parameters);
59
63 static ENGINE_API void ModifyCompilationEnvironment(const FVertexFactoryShaderPermutationParameters& Parameters, FShaderCompilerEnvironment& OutEnvironment);
64
68 static ENGINE_API void GetPSOPrecacheVertexFetchElements(EVertexInputStreamType VertexInputStreamType, FVertexDeclarationElementList& Elements);
69 static ENGINE_API FRHIVertexDeclaration* GetPSOPrecacheVertexDeclaration(bool bUsesDynamicParameter);
70
71 // FRenderResource interface.
72 ENGINE_API virtual void InitRHI(FRHICommandListBase& RHICmdList) override;
73
81
86 {
87 return BeamTrailUniformBuffer;
88 }
89
93 ENGINE_API void SetVertexBuffer(const FVertexBuffer* InBuffer, uint32 StreamOffset, uint32 Stride);
94
98 ENGINE_API void SetDynamicParameterBuffer(const FVertexBuffer* InDynamicParameterBuffer, uint32 StreamOffset, uint32 Stride);
100 {
101 bUsesDynamicParameter = bInUsesDynamicParameter;
102 }
103
105 {
106 return IndexBuffer;
107 }
108
110 {
111 return FirstIndex;
112 }
113
115 {
116 return OutTriangleCount;
117 }
118
119private:
120
122 FParticleBeamTrailUniformBufferRef BeamTrailUniformBuffer;
123
126 uint32 FirstIndex;
127 int32 OutTriangleCount;
128 bool bUsesDynamicParameter;
129};
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
EParticleVertexFactoryType
Definition ParticleVertexFactory.h:20
@ PVFT_MAX
Definition ParticleVertexFactory.h:24
#define END_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1669
#define BEGIN_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1663
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
#define DECLARE_VERTEX_FACTORY_TYPE(FactoryClass)
Definition VertexFactory.h:548
EVertexInputStreamType
Definition VertexFactory.h:128
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition RenderResource.h:509
Definition MaterialShared.h:2058
Definition ParticleBeamTrailVertexFactory.h:33
FParticleBeamTrailUniformBufferRef GetBeamTrailUniformBuffer()
Definition ParticleBeamTrailVertexFactory.h:85
void SetUsesDynamicParameter(bool bInUsesDynamicParameter)
Definition ParticleBeamTrailVertexFactory.h:99
FIndexBuffer *& GetIndexBuffer()
Definition ParticleBeamTrailVertexFactory.h:104
FParticleBeamTrailVertexFactory(ERHIFeatureLevel::Type InFeatureLevel)
Definition ParticleBeamTrailVertexFactory.h:47
void SetBeamTrailUniformBuffer(FParticleBeamTrailUniformBufferRef InSpriteUniformBuffer)
Definition ParticleBeamTrailVertexFactory.h:77
uint32 & GetFirstIndex()
Definition ParticleBeamTrailVertexFactory.h:109
int32 & GetOutTriangleCount()
Definition ParticleBeamTrailVertexFactory.h:114
FParticleBeamTrailVertexFactory(EParticleVertexFactoryType InType, ERHIFeatureLevel::Type InFeatureLevel)
Definition ParticleBeamTrailVertexFactory.h:39
Definition ParticleVertexFactory.h:31
Definition RHICommandList.h:455
Definition RHIResources.h:725
Definition RenderResource.h:474
Definition ShaderParameterMacros.h:136
Type
Definition RHIFeatureLevel.h:20
Definition ShaderCore.h:544
Definition MeshMaterialShader.h:44