UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GeometryCacheVertexFactory.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 GPUSkinVertexFactory.h: GPU skinning vertex factory definitions.
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
10#include "Stats/Stats.h"
11#include "RHI.h"
12#include "RenderResource.h"
13#include "UniformBuffer.h"
14#include "VertexFactory.h"
15#include "LocalVertexFactory.h"
16
18 SHADER_PARAMETER(FVector3f, MeshOrigin)
19 SHADER_PARAMETER(FVector3f, MeshExtension)
20 SHADER_PARAMETER(FVector3f, MotionBlurDataOrigin)
21 SHADER_PARAMETER(FVector3f, MotionBlurDataExtension)
22 SHADER_PARAMETER(float, MotionBlurPositionScale)
24
26
33 SHADER_PARAMETER_SRV(Buffer<float>, TexCoords)
35
37
66
68
74{
76
77 typedef FVertexFactory Super;
78
79public:
83
103
106
110 UE_DEPRECATED(5.4, "SetData requires an RHI command list.")
111 ENGINE_API void SetData(const FDataType& InData);
112
113 ENGINE_API void SetData(FRHICommandListBase& RHICmdList, const FDataType& InData);
114
120
122 FRHICommandListBase& RHICmdList,
126
128
131
133
135
137
138 // Vertex buffer required for creating the Vertex Declaration
140
143
145};
146
@ MAX_STATIC_TEXCOORDS
Definition Components.h:22
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
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
#define END_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1669
#define SHADER_PARAMETER_SRV(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1720
#define BEGIN_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1663
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
EVertexInputStreamType
Definition VertexFactory.h:128
#define DECLARE_VERTEX_FACTORY_TYPE_API(FactoryClass, ModuleApi)
Definition VertexFactory.h:553
Definition GeometryCacheVertexFactory.cpp:26
Definition GeometryCacheVertexFactory.h:74
static ENGINE_API void ModifyCompilationEnvironment(const FVertexFactoryShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition GeometryCacheVertexFactory.cpp:90
FVertexBuffer VBAlias
Definition GeometryCacheVertexFactory.h:139
ENGINE_API void SetData(const FDataType &InData)
Definition GeometryCacheVertexFactory.cpp:100
FDataType Data
Definition GeometryCacheVertexFactory.h:144
int32 PositionStreamIndex
Definition GeometryCacheVertexFactory.h:141
FGeometryCacheVertexVertexFactory(ERHIFeatureLevel::Type InFeatureLevel)
Definition GeometryCacheVertexFactory.h:80
ENGINE_API void CreateManualVertexFetchUniformBuffer(const FVertexBuffer *PoistionBuffer, const FVertexBuffer *MotionBlurBuffer, FGeometryCacheVertexFactoryUserData &OutUserData) const
Definition GeometryCacheVertexFactory.cpp:360
static ENGINE_API void GetPSOPrecacheVertexFetchElements(EVertexInputStreamType VertexInputStreamType, FVertexDeclarationElementList &OutElements)
Definition GeometryCacheVertexFactory.cpp:254
static ENGINE_API void GetVertexElements(ERHIFeatureLevel::Type FeatureLevel, EVertexInputStreamType InputStreamType, FDataType &StreamComponentData, FVertexDeclarationElementList &OutElements)
Definition GeometryCacheVertexFactory.cpp:304
virtual ENGINE_API void InitRHI(FRHICommandListBase &RHICmdList) override
Definition GeometryCacheVertexFactory.cpp:318
static ENGINE_API bool ShouldCompilePermutation(const FVertexFactoryShaderPermutationParameters &Parameters)
Definition GeometryCacheVertexFactory.cpp:471
int32 MotionBlurDataStreamIndex
Definition GeometryCacheVertexFactory.h:142
Definition RHICommandList.h:455
Definition RenderResource.h:474
Definition VertexFactory.h:661
Definition Array.h:670
Definition ContainerAllocationPolicies.h:1276
Definition ShaderParameterMacros.h:136
Definition SceneComponent.h:24
Type
Definition RHIFeatureLevel.h:20
Definition GeometryCacheVertexFactory.h:42
FGeometryCacheVertexFactoryUniformBufferParametersRef UniformBuffer
Definition GeometryCacheVertexFactory.h:55
FShaderResourceViewRHIRef TexCoordsSRV
Definition GeometryCacheVertexFactory.h:62
FShaderResourceViewRHIRef TangentZSRV
Definition GeometryCacheVertexFactory.h:59
float MotionBlurPositionScale
Definition GeometryCacheVertexFactory.h:53
FShaderResourceViewRHIRef PositionSRV
Definition GeometryCacheVertexFactory.h:57
FUniformBufferRHIRef ManualVertexFetchUniformBuffer
Definition GeometryCacheVertexFactory.h:64
FShaderResourceViewRHIRef ColorSRV
Definition GeometryCacheVertexFactory.h:60
FShaderResourceViewRHIRef TangentXSRV
Definition GeometryCacheVertexFactory.h:58
FVector3f MotionBlurDataOrigin
Definition GeometryCacheVertexFactory.h:51
const FVertexBuffer * PositionBuffer
Definition GeometryCacheVertexFactory.h:43
FShaderResourceViewRHIRef MotionBlurDataSRV
Definition GeometryCacheVertexFactory.h:61
FVector3f MeshOrigin
Definition GeometryCacheVertexFactory.h:47
const FVertexBuffer * MotionBlurDataBuffer
Definition GeometryCacheVertexFactory.h:44
FVector3f MotionBlurDataExtension
Definition GeometryCacheVertexFactory.h:52
FVector3f MeshExtension
Definition GeometryCacheVertexFactory.h:48
Definition GeometryCacheVertexFactory.h:85
bool bIsDummyData
Definition GeometryCacheVertexFactory.h:101
FVertexStreamComponent MotionBlurDataComponent
Definition GeometryCacheVertexFactory.h:99
FVertexStreamComponent ColorComponent
Definition GeometryCacheVertexFactory.h:96
TArray< FVertexStreamComponent, TFixedAllocator< MAX_STATIC_TEXCOORDS/2 > > TextureCoordinates
Definition GeometryCacheVertexFactory.h:93
FVertexStreamComponent PositionComponent
Definition GeometryCacheVertexFactory.h:87
FVertexStreamComponent TangentBasisComponents[2]
Definition GeometryCacheVertexFactory.h:90
Definition ShaderCore.h:544
Definition MeshMaterialShader.h:44
Definition VertexStreamComponent.h:22